(カテゴリ名迷走中(゜□゜; )いいのが思いつきませんので仮で)

FileReference.uploadが正常に動作しない(主にMac)問題についての調査。
確信をつく回答は此処にはありません。僕自身も未だ調査中です。
色々と調べ回った結果だけ、つらつらと書き残しておこうと思います。
このいずれかの操作で動作しなかったものがするようになれば良し!という事で・・・(汗

調査1:
アップロードAPIにPHPを用いている場合、PHPがモジュールで動作しているサーバ環境
そうではない環境で動作しなかったものが動作した、という情報がありました。
http://blog.eternitydesign.net/archives/2006/01/flash_uploader_2.html
(※掲載に問題がありましたらお手数ですがご連絡下さい。)

これはFLASH側の問題ではなく、サーバ側の問題?のようです。
通常はPHPがモジュールで動作している?のが一般的なようですが
そうでない場合(PHPをCGIとして動作させている、など)はファイルに実行権限を与える必要があるそうです。
パーミッションが『7XX』になるような操作です・・・よね、多分(汗
この辺り、詳しくはないのでプログラマやサーバ管理者様と要相談でお願いします。

調査2:
API側のプログラムにおいて英文サイトから情報を転載。
http://www.abdulqabiz.com/blog/archives/flash_and_actionscript/workaround_file.php
(※同様の問題で困っている方へ、と書かれていましたので掲載させていただきました)

you need to sent empty response from upload server-side script.
サーバサイドスクリプトから空の返り値を送信する必要がある。

In php, you would just do echo (""); after file-upload code.
PHPで言うならば、ファイルのアップロード処理が終わった後で echo(""); を付随させるだけでOK。

In Java servlet, you can do
response.getWriter().println("");
response.getWriter().flush();
Javaサーブレットでも、英文の下2行(responseから始まる2行です)をアップロード処理後に書き加える事で通ります。

(※アドリブ翻訳のため、訳が間違っていても責任は負いかねます_| ̄|○)

調査3:
HTTPSを使用している?(HTTPSを使用する、って表現が正しいかも解りません(汗))場合
URL内にHTTPSのポート番号(433)を記述すると動作する可能性があるそうです。

例:
https://www.******.com:433/upload.php ← 『:433』の部分ですね

(゜□゜; )すいません、ポートとか全く解らないので、詳細説明出来ません。
ドメイン直後に:433を書くだけ、だそうですので、やってみる価値はありそうです。

以下、調査中・・・

ここまで書いて気がついたことは、FLASHのアップロード処理は、upload("APIアドレス")という一択なので、FLASH側に問題があるという事はアドビ様を信じる限りあり得ない(もしあれば裏技的手法以外は方法が無くなる)のではないか、という事。故に、対策の殆どがFLASH以外の部分に着目されている、という事です。
だからといって「僕達は悪くない!」ではなく、これを機会にPHPやCGIでは一体どういう事が行われているかを教えてもらったりすると、よりFLASHから送る値や情報の送受が明確になって、今後の仕事にもどこかで潤滑油になったりするかもしれません。
トラブルはチャンス。そう思わないと前に進みづらいのも本音ですが(゜□゜; )結果論で物を言えば実際そうだったケースが多いですから、臆せず突撃しませう。
知らない分野は知らなくて当然!だから伺っておりますのよ!・・・ってな具合で一つ(笑

こんな表記を、いつの日からかタイムライン上に見るようになりました。

(インスタンス名.)onなんとか = function(){
  //ここに処理を記述
}

FLASH MXからだったでしょうか?
当時は、ムービークリップに割り当てるスクリプトをタイムラインに書くという事そのものが「解りにくいわ!」と、完全に無視していたのですが、後にそのメリットに気がつき、完全に逆走で出遅れたために一生懸命覚えました・・・生意気言って済みませんでした(゜□゜; )

色々あります。ですから、基本的な「ムービークリップ(今後MCと書く事にします)」と「ボタン」の、更に使う頻度の高そうなものについての簡単な説明と注意点を書きまして、あとは皆々様で実験なりヘルプを読んで更なる解釈を深めていただこう、と、全体的に他力本願な記事ですのでご注意下さい(゜□゜; )

まず、全体に渡って言える事は、これはファンクションである、という事です。
ここで新たに生成したvar変数は、このファンクション、またはこのファンクション内で生成したファンクションでしか使う事は出来ません。詳しくはコチラをご覧下さい。

■ MCに関するonなんとか

インスタンス名.onLoad = function(){//スクリプト}

こいつはかなり注意です。MCに記述していたonClipEvent(load)とは、全くの別物です。
何が違うかと言いますと、ステージに配置されたMCに対してonLoad=function(){}を記述しても、MCが表示された瞬間にonLoadファンクションの中身を実行してくれる事はありません
こいつが実行されるタイミングは
『attachMovieなどで、新規にMCを生成した時のみ、1度だけ実行される』
なのです。
しかも、実行させるには更なる処理が必要。正直僕はその理屈を覚えるより『使いにくい』という経験が勝ってしまって、殆ど使用していません。
その代わり「もう、これでいいじゃないか(゜□゜; )」的な代用方法としまして
MC名.変数 = 値;
というスクリプトをMCが出てくるタイムラインに書いてしまえばいいんじゃないか、という結論に至りました(笑。もっと言うと、ここだけonClipEvent(load)を使ったっていいですしね、うん。


インスタンス名.onData = function(){//スクリプト}

ご注意スクリプト2つ目。ってか、そもそもこいつは何やねん、と思われている方もいらっしゃるかもしれません。
これは、
『ターゲットとなるMCに対して、loadVariablesにて外部よりデータが読み込まれた事を確認したときのみ』
動作するスクリプトです。
データをロードしたんだからonLoadじゃないか、と昔の自分は間違えていたせいで、このonなんとかが大嫌いになったわけですが(゜□゜; )、正しく使えば非常に便利なので覚えて下さいね。


インスタンス名.onEnterFrame = function(){//スクリプト}

僕が今、最もお世話になっているスクリプトです。
読んで字の如く、毎フレーム(EnterFrame){}括弧内のスクリプトを実行します。
また、この処理をやめたい時は
インスタンス名.onEnterFrame = null;
でOKです。再び復帰させたい場合は再度onEnterFrameファンクションを生成しましょう。
面倒な方は、若干の処理速度を犠牲にして(笑)、onEnterFrameファンクション内にフラグを設け、そのフラグ値がtrueの時のみ中身を実行する、といったスイッチを設けてもいいと思います。
あまり多用すると処理落ちの原因になりますのでご注意。


インスタンス名.onMouseDown = function(){//スクリプト}

マウスボタンを押した時に実行されます。クリック、ではないですよ。『押した』時です。
どう違うかと言いますと、押したマウスボタンを『離した』時のためにもスクリプトが用意されているからです。
このファンクションが設定されると、MC上だろうが外だろうが、SWFの表示範囲でマウスボタンが押されたならば、全て実行の対象となります。範囲に制限を加える時は、onMouseDownファンクションの内部でhitTestなどを使うと良いと思います。


インスタンス名.onMouseUp = function(){//スクリプト}

出ました。マウスボタンを『離した』時に実行されるスクリプトです。
殆どonMouseDownとセットで使われる事でしょう。ドラッグ処理を自分で作ったり、ゲームでよくある『ため技』なんかの発動条件に使えたりもします。


インスタンス名.onMouseMove = function(){//スクリプト}

マウスカーソルが動いた時に実行されます。
処理の軽減を重視するならば、マウスポインタに付いてくるMCの処理なんかは、onEnterFrameよりこっちでやってしまいましょう。

■ボタンに関するonなんとか

インスタンス名. onPress = function(){//スクリプト}

ボタン範囲内で、マウスボタンを『押した』時に実行されます。
MCのonMouseDownと違う所は、ボタンとして生成されたヒット領域のみに適用される、という事でしょうか。よくMCとボタンを混同させてしまいがちですが、互いの出来る事、出来ない事というのは、一度確認しておいて損は無いと思います。


インスタンス名. onRelease = function(){//スクリプト}

ボタン範囲内で、マウスボタンを『離した』時に実行されます。
特別な理由が無い限り、「クリック」を判定するスクリプトはこれになるでしょう。


インスタンス名. onReleaseOutside = function(){//スクリプト}
ボタン範囲で、マウスボタンを『離した』時に実行されます。
『オブジェクトをドラッグして、ボタンを離した時にこの範囲に入っていなかったら定位置に戻る』
みたいな処理の時に使うと便利なスクリプトですね。


インスタンス名. onRollOver = function(){//スクリプト}

マウスボタンを『押していない』時に、ボタンにマウスカーソルが『乗った』時に実行されます。
特筆すべき事はあまりありませんが、強いて言うならば、とにかくカーソルが上を通ったら実行させたいんだ!という時は、DragOverと併用した方が誤作動が減る場合があります。


インスタンス名. onRollOut = function(){//スクリプト}

マウスボタンを『押していない』時に、ボタンからマウスカーソルが『離れた』時に実行されます。
ボタンの上でマウスボタンを押し、そのままボタンの外にまでドラッグするような形で移動してマウスボタンを離すと、このスクリプトは実行されません。
使い所が肝要ですが、これもonDragOutと併用する事で、エラーを軽減出来る時があります。


インスタンス名. onDragOver = function(){//スクリプト}

マウスボタンを『押している』時に、ボタンにマウスカーソルが『乗った』時に実行されます。
もちろん、マウスボタンを押さずにボタンにカーソルを合わせても実行されません。
『ドラッグしている時だけ反応するボタン』といった特殊なケースに用います。


インスタンス名. onDragOut = function(){//スクリプト}

マウスボタンを『押していない』時に、ボタンからマウスカーソルが『離れた』時に実行されます。
これも、マウスボタンを押していない状態であれば動き出す事はありません。

あれ、なんか返って解りづらくなってるんじゃないだろうか・・・。
詰まる所、onLoadとonDataだけは使い方に注意してくださいね、という事でした。
だったら最初からそれだけ言えばいいのにねーはははー(゜□゜; )おしまい(汗

asfunction。FLASHのみでの開発をしていても、滅多にお目にかからないスクリプトだと思います。
FLASHのヘルプにもありますが、これで何が出来るかというと
『HTMLテキストのaタグから、FLASH内部のファンクションを実行出来る』
といった、使い方によっては恐ろしく便利な荒くれスクリプトです(゜□゜)

使い方は至って簡単。
下準備としましては、表示を行うダイナミックテキスト枠にて、HTMLタグを処理出来るよう設定する事です。今回は、『mainText』というインスタンス名がついたテキスト枠を例に取りますと

mainText.html = true;
mainText.htmlText = "ここに使用可能なHTMLタグを含む文字列を記述します";

間違えやすい点は .text が .htmlText に変わる事でしょうか。

さてさて、これでHTMLテキストを表示する準備は出来ました。
次は『hogehoge』というfunctionをFLASH内部で生成し、それをHTMLのaタグから実行する処理を説明します。

//ファンクション設定
function hogehoge(){
  trace("ほげほげ〜(゜□゜)"); //テストなのでなんでもいいです(笑
}
//テキスト設定
mainText.html = true;
mainText.htmlText = "<a href=\"asfunction:hogehoge\">テキストリンク文</a>";

注目は最終行!(一部変な記号[ \ ]が入っている理由は後ほど説明します。今は無いものとしてお考え下さい)
<a href="asfunction:hogehoge">
この部分ですね。普段HTMLのソースに用いられるaタグのhrefにはURLなんかが書いてあるものですが、FLASH内部のスクリプトを実行する時は
asfunction + コロン[ : ] + ファンクション名
という表記をする事で、ファンクション名の部分に記述されたfunctionを実行する事が出来ます。

更にもう一歩踏み込んで、各リンクから、変数も送りたい場合はこうなります
asfunction + コロン[ : ] + ファンクション名 + カンマ[ , ] + 変数
スクリプトにするとこんな感じです(゜□゜)

//ファンクション設定
function hogehoge(value1){
  trace("送られてきた値=" + value1); //テストなのでなんでもいいです(笑
}
//テキスト設定
mainText.html = true;
mainText.htmlText = "<a href=\"asfunction:hogehoge,1\">1を送信</a>\n";
mainText.htmlText += "<a href=\"asfunction:hogehoge,2\">2を送信</a>\n";
mainText.htmlText += "<a href=\"asfunction:hogehoge,3\">3を送信</a>\n";

各テキストリンク「1を送信」「2を送信」「3を送信」をクリックすると
それぞれに『送られてきた値=数値』というトレース文が出力されるはずです。
※おそらく型はNumberではなくStringでしょうから、数字の扱いには若干注意が必要・・・かも?

ついでに書いてしまいますが、上記スクリプトの最終行にて、ダブルクォーテーション[ " ]をテキストとして表示したいのに、その文字列をダブルクォーテーションで囲まないといけない場面に遭遇しています。
この時、文字列中のダブルクォーテーションの前にバックスラッシュ[ \ ]を書く事で、文字列の閉じ記号ではなく、文字としての記号である、といった解釈をしてくれるそうです。

いかがでしたでしょうか?(゜□゜)
これの主な使い方といえばやはり、『テキストやXMLなど、外部から取得してきたテキストデータに、実行させるファンクションを割り当てたい』という時が最も効果的でしょう。
よく見かける更新履歴にasfunctionリンクを貼り、クリックでFLASH内部がそのコンテンツへ移動する、といった仕組みがあるのと無いのとでは、ただでさえGUIで毛嫌いされているFLASHですから、ナビの親切さは操作感のポイントアップになる・・・といいな(汗
ま、毎回こんな投げやりな終わり方だな・・・まいっか(゜□゜; )

こういった、あるんだけど普段使わないから忘れられ、いざ必要になった時には思い出せなくて『出来ないんだよ、きっと』と自分を騙して慰めるようなロンリースクリプトを、どんどん書いていけたらいいなぁと思います(笑

var、僕はある時期まで一度も使った事が無く、ある時期を境に使うようになり、ある時期に今まで動いていたスクリプトが突如動かなくなって使わなくなり、最近ようやくその意味が解ったような気がしている次第です(゜□゜; )

FLASHのヘルプには『ローカル変数を宣言します』とあります。
関数内で変数を宣言した場合、その変数はローカルです。変数はその関数用に定義され、関数呼び出しの終了時にスコープから外れます、なんて事も書いてありますが・・・僕には何の事やらさっぱり解りません。
そ、そもそも『ローカル』ってどこの事ですか?(゜□゜; )
解らない事だらけだったので、更に読み進めていくと、『{}で囲まれた範囲が各々のローカル領域になる』という文章がありました。

つまり、root(まっさらな)状態を一つの『ローカル領域』とすると

//※ローカル領域A
var a;
function hogehoge(){
  //※{}の範囲内なのでローカル領域B
  var b;
}
this.onEnterFrame = function(){
  //※{}の範囲内なのでローカル領域C
  var c;
}

おそらく、こういう事でしょう(゜□゜)
『ローカル領域Aの中にローカル領域BとCがある』という風に考えてみて下さい。
(※以下、ローカル領域を「領域」と書きます)
まず、{}の隔たりがあるので、領域Aから領域BやCで宣言されたvar変数b,cを参照する事はできません。
また、領域Bから変数c、領域Cから変数bもまた、{}で隔たりがあるので参照はできません。ですが、領域BやCからは変数aを参照する事が出来ます。
これは、領域B,Cが領域A内に作られているため、領域の入れ子になった領域はその外側の領域で宣言された値を参照する事が可能だからでs・・・ん〜、難しすぎるな(゜□゜; )だめだこりゃ(汗

簡単に説明(しようと努力)しますと・・・
「自分の領域から{}括弧の中には入れないが、{}括弧から外に出る事は可能」という事。
あ、そうそう、{}括弧で括られた範囲が誰かの住宅と考えると解りやすいかもしれませんので、以下のように仮定をします。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
領域A(ルートのスクリプトスペース)を『外(郊外)』
領域Bを『B君の家』
領域Cを『C君の家』
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

まず、郊外へは誰もが行く事が出来ます。ですから、郊外にあるもの(変数a)は誰でも見る事が可能です。
B君は、まず、B君の家の中にある物(変数b)は見る事が出来ます。そして更に、家に鍵をかけて外出をすると、郊外にあるもの(変数a)も見る事が出来ますが、他人の家であるC君の家の中の物(変数c)は、見る事ができません。
C君も同様、自宅の物(変数c)と郊外にある物(変数a)は見る事が出来ますが、B君の家の物(変数b)は、見る事が出来ないのです。

■結果 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
領域Aから見る事が可能な変数:a
領域Bから見る事が可能な変数:a,b
領域Cから見る事が可能な変数:a,c
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

もし、以下のようにスクリプトが組み直された時

//※ローカル領域A
var a;
function houseB(){
  //※{}の範囲内なのでローカル領域B
  var b;
  //※領域Bの中に領域Cを作った!
  this.onEnterFrame = function(){
    //※{}の範囲内なのでローカル領域C
    var c;
  }
}

領域Cは領域Bにある変数も、領域Aにある変数も、見る事が出来るようになります。
例に例えるなら、郊外にあるB君の室内で飼っているペットC猫の寝床、といった所でしょうか(笑
B君は自分の家の中にあるペットCの寝床を見る事が出来そう・・・!(笑)ですが、残念ながら{}括弧があるため、C猫にクリティカルクロウを喰らってしまい、変数cを見る事は出来ないのです。

ルートスペース(領域A)に色々とスクリプトを書き、後にそれらをひとまとめにfunction化させた時などに、ついさっきまで上手く動いていたスクリプトが誤作動を起こした!なんて事はありませんか?
その原因の殆どは、このvarで宣言された変数が{}括弧を隔ててしまったがために変数の取り回しが上手く行かなくなってしまったからでしょう。
スクリプトを{}括弧で覆う時は、一度、使われている変数が他から見る事が出来なくなってしまわないかをチェックする必要があるようです。もしくは、ルートスペース以外でvar宣言をする場合は、その領域でしか使わないものだけにする、といった取り決めをするのが効果的なんだろうなぁ、と思います(゜□゜; )大変です、ハイ。

改行に関する事で、FLASHではしばしばなんじゃこりゃ現象が起きます。
オンライン上で見るとなんともないのに、SWFデータに読み込んだテキストなんかをローカルでチェックすると、改行が1つ多い(1行置きに文章が表示される)状態になったり、逆に、改行が無くなってしまったり、といった不具合がでてきてしまった経験、ございませんでしょうか。

これらの原因の全ては『改行コード』と呼ばれるなんだかよく解らないものでして、僕自身もよく解らないのでこういうものなんだ、ぐらいの解釈ですが、要するに
『OSとかの違いによって使われている改行の種類が違う』というものらしいです。
『CR』とか『LF』とか『CR/LF』とか、聞いた事ありませんでしょうか?
具体的には以下の通り。

CR:Carriage Returnの略。 URLエンコード文字だと『%0D』、FLASHだと『\r』とかで書かれる。
LF:Line Feedの略。URLエンコード文字だと『%0A』、FLASHだと『\n』とかで書かれる
CR/LF:CRとLFが両方くっついたもの。『%0D%0A』『\r\n』という事です。

この改行コードがいくつもあるせいで『改行』と一括りに出来なくなっているために、上記のようなエラーがあれこれと出てきてしまう事があります。
あっと、ちなみにこの『 \ 』←これ、これはバックスラッシュで、Winなら「¥」、Macなら「Alt + ¥」で出てきます。

うーん、じゃあどうしよかい(゜□゜)と悩んだ結果
FLASH内部でどれかに統一してあげちゃえばいいじゃないか、となりました。
取りあえず例として『文字列の中の改行を全てLF(\n)にしてしまう』というのをやりましょう。
スクリプトはこんな感じです。

preTextData = "ここに改行を含めた文字列が入っているとします";
textData = String(preTextData.split("\r\n").join("\n").split("\r").join("\n"));

これで、textDataの中身はpreTextDataの文字列の改行コードを全て\nに変更させたものになりました。
2行目で使ったスクリプトは、簡単に説明しますとこんな感じです。
split(文字列):指定した文字列でデータを分解し、配列に格納する。
join(文字列):配列と配列の間だを、指定した文字列でつなぎ合わせて一つのストリングを作る。

よって、何をやっているかと言いますと
『改行コードCR/LF で分解し(この時点でストリングからCR/LFが消える)配列を作り、
 その配列を改行コードLF で繋いで一つのストリングにする。
 そのストリングを改行コードCR で分解し(この時点でストリングからCRが消える)配列を作り、
 その配列を改行コードLF で繋いで一つのストリングにする』
と、なります。これでCR/LFもCRも、全てLFに置き換えられた、というわけです。

膨大な量の文章を変換する場合は、それなりに負荷がかかるかもしれませんので、使い所は各々で見極めが必要になると思いますが、一種のおまじないとして用いる事で、特に外部テキストの読込に関する表示エラーの50%は無き物にできるのではないでしょうか(゜□゜; )・・・多分(またか

1回目からマニアな領域へ(゜□゜)こんにちはヨウスケです。

eval。見た事無い。見た事あるけど使った事無い。
その便利さゆえに付きまとう使い方の解りにくさ。非常に可哀想な存在です。
・・・どうパターン化して書いていこうか迷走しながらの執筆ですので、お付き合い宜しくお願いします。

eval
読み方解りません。「イーバル」とか言ってます。かっこつける時は「イーヴァル」。
意味は『文字列をターゲットに変換してくれるもの』と考えています。ターゲット、というのは、インスタンス名とか変数、プロパティなど、スクリプトで指示する時に書く英語の文字列の事で
a = 1 の 『a』とか
MC1.animation.gotoAndPlay(2) の 『MC1.animation』とかがそうです。

例として、ムービークリップを10個用意し、それぞれにmc1,mc2・・・mc10というインスタンス名が連番で付いているとします。これらを一気に10フレーム目から再生させたい、という時、普通に書くと

mc1.gotoAndPlay(10);
mc2.gotoAndPlay(10);
・
・
・
mc10.gotoAndPlay(10);

と10行のスクリプトを書きますが、これが100個あったり1000個あったらたまりません。
こんな時にevalをforループの中で使ってやる事で、楽に操作ができます。

var firstCount = 1; //連番になっているMC名の最初の数字
var maxCount = 10; //ループさせたい回数
for(var count = firstCount; count <= maxCount; count++){
  eval("mc" + count).gotoAndPlay(10);
}

調子に乗って、a1〜a10までの引数に0〜99の範囲でランダムに値を入れていく、という処理を作りましたが、下記のスクリプトではどうも動いてくれませんでした。

var firstCount = 1; //連番になっているMC名の最初の数字
var maxCount = 10; //ループさせたい回数
for(var count = firstCount; count <= maxCount; count++){
  eval("a" + count) = random(100);
}

んん〜?エラーメッセージを簡単に書くと
『イコールの左っかわ(つまり eval("a" + count))が引数として扱えないから、他の物に変えてや〜』
という事だそうで(゜□゜)evalで囲まれた文字列を引数として扱う事が出来ませんでした。
setPropertyという値をセットするスクリプトもありますが、もっと簡単な方法は無いものか・・・と思いながらFLASHのヘルプを見てみた所、evalと同じ働きをする別の書き方が載っていました。それは・・・

this["a" + count]

という書き方。何故か括弧は ( ) じゃなくて [ ] です。お間違えなく。
つまりエラーの出たスクリプトを書き直すと以下のようになります。

var firstCount = 1; //連番になっているMC名の最初の数字
var maxCount = 10; //ループさせたい回数
for(var count = firstCount; count <= maxCount; count++){
  this["a" + count] = random(100);
}

これで、a1〜a10にランダムな値がちゃんと入りました(゜□゜)やたーぃ。

このeval()とthis[]、各々に使えない時と使える時があったり、エラーは出ていないのに値が入っていないとか動作しない、とか、結構苦しむケースが多いようです。
もう、こういう時は「使える時だけ使う」の持論にのっとり(汗、こんな感じで場合分けをしてみました。

eval("色んな引数を含む文字列") : ムービークリップのインスタンス名を作る時に用いる
this["色んな引数を含む文字列"] : 変数名を作る時に用いる

色んな引数を含む文字列で最終的に作りたいものがなんなのか、という事を基準にすると、どっちを使うべきか自ずと見えてきます。
例として、MCの中の変数を処理したいんだけど・・・という場合は、後者を選び

this[この中で、MC名.変数名 という文字列を作りましょう] = 入れたい値

と、こんな具合にしてもらえれば、動作すると思います・・・多分(汗
(゜□゜; )お、おしまい!(笑

はじめに

| | コメント(0) | トラックバック(0)

こんにちは、ヨウスケです(゜□゜)
自分のメモ用にブログを一個作ったわけですが、何も考えずに作成したそのアドレスが、まさか過去のFLASH講座のアドレスと一緒で、完膚無きまでに上書きされてしまったとは言えないので、これから気が向いた時にでもあれこれ書いていこうと思います。

いくつかご注意などなど。

  • 使用ActionScriptは2.0です。AS3.0は勉強中ですがちーとも解りません。
  • 独学ゆえに、スクリプトの解釈を自分の言葉で書いてしまうと思います。
  • クラスの概念を知りませんので、publicとか言われてもちんぷんかんぷんです。

書いていこうと思う内容は、○○の作り方〜っていうのは先駆者様が一杯おりますので、どうせなら『誰も気にした事ねぇよそんな所!』というツッコミ待ちを匂わせるような記事を書いていけたらなぁと思います。
仕事で使ったスクリプトのメモを目的に何かやろうかな〜と思い立ったのがきっかけですので、自分が後で読み返しても解るように(汗)、小難しい話を小難しく思わないように書く事が目標です。サンプルデータやダウンロードというのはやる予定はありませんので、デブメガネがこしらえる三流読み物感覚でお楽しみ下さい。

・・・よって、このアドレスにありました過去記事は消えてしまいました(゜□゜; )申し訳無いです。
それでは!