Flash Lite 1.1 で詰まった箇所メモ

いろいろあってFlash Lite 1.1 をいじくってます。実はFlashもActionScriptも今回初めて。で、2日ほどで作ったのがこれ(とりあえずPCでも動きます)。

http://firstlife.jp/m/

2日もかかってんじゃねぇよ、って話なんですけどね。JavaScriptと似たようなもんだから楽勝だろう、とタカをくくってたら思わぬ所で何度も詰まって。

まぁ、自分が詰まる位だから未来の自分も同じ所で悩むだろうな、って事で、自分のためにメモ。べ、べつにあんたの為に書いてるんじゃないんだからね。でも・・・もし役に立ったら嬉しいです。始めたばっかりなんで、初歩的な内容ばっかりですが。

【携帯だとキー操作なのでキー操作のみ処理すればいいんだけど、ボタンをPCのブラウザでもとりあえず動くようにしたい】

ボタンのトリガにreleaseを追加する。on(keyPress "1") {だと携帯の1を押した時しか動作しないけど、on(release, keyPress "1") {としてボタンとしても機能するようにする。

【なんか文字を変形すると消える、文字が太字にならない、文字が一定以上小さくならないんだけど】

画像にしてしまおうぜ。

【アクションスクリプトでムービーや変数をオブジェクトっぽく扱えない】

ムービーであればtellTarget()を使って呼び出す。

on(release, keyPress "1") {
    _parent.dice.gotoAndPlay(1);
}

これは以下のように記述する。

on(release, keyPress "1") {
    tellTarget("dice") {
        gotoAndPlay(1);
    }
}

変数は、たとえば、シンボルからシーン上の diceNo を呼び出す場合、こんな感じで相対パスで呼び出す。eval("../:diceNo")このように。

【Flashにパラメーターが渡せないんだけど】

これが一番悩みました。だってFLASH-JP.COMのフォーラムでは、バイナリいじくって変数書き換えるんだ!なんて事が書いてあるんだもの(iモード用のFLASHにパラメータを送りたい)。セッションが使えないと出来ない事多いし必須だよなぁ、mod_reriteとか使って楽できないかな、なんて思ってたら、そのものずばりの事を解説されてる方がいらっしゃいました。

Flash Lite1.1とPHPセッションの連携

詳しい内容は先方のサイトを参照してくださいませ。このやり方はとっても頭いいです。PATHの中にセッションIDを含めて、mod_reriteでGETリクエストに置き換え。もちろんPHP以外でも同じ方法が使えますよ。

いまのところこれくらい。細かいところではもっと詰まったんですけどね。サイズはどうしようとか、ログの出し方どうするんだ、とか。まぁ、また詰まる事があれば追記します。