Flash LiteのアクションスクリプトはPC向けFlash5以降のアクションスクリプトと
記述方法に大きく違う点があり注意が必要です。
この項では代表的な記述方法の違いと、対処方法を解説します。
Flash5以降との代表的な違い
(1)階層指定方法の違い
スラッシュシンタックス記述について解説。
(2)関数(function)使用不可の対処
functionが使用不可のためcallを代用する方法を解説。
(3)文字列の連結方法
+でストリング(文字列)の連結不可のためaddを代用する方法を解説。
その他に以下の制限があります。
・配列が使用できない
・マウスイベントの記述は出来ない
・外部ファイル読み込みLoadMovie()はFlash Lite1.1からサポート
それでは順番に、スクリプト制限の対処方法を紹介します。
(1)階層指定方法の違い
・Flash5以降のスクリプト記述とFlash Lite1.xのスクリプト記述では階層の指定方法が違います。
・Flash5はドットシンタックス、Flash Lite1.xはスラッシュシンタックス 。
例1)ルート階層にある変数を呼び出す場合
Flash5以降ドットシンタックス | Flash Liteスラッシュシンタックス |
_root.num=0; | /:num=0; |
・Flash5以降のドットシンタックスの階層指定方法になれていると
スラッシュシンタックスの記述方法は戸惑いますが、
下記の要点を押えて記述すれば戸惑う事は少ないかと思います。
・「_root」は「/:」で記述
・「_parent」は「../」で記述
・「.」ドットは「/」で記述
・ムービークリップ名を指定する場合は『tellTarget(“MC名”){実行する動作};』にて記述
例2)ルート階層にあるムービークリップを指定する場合
Flash5以降の場合 | Flash Liteの場合 |
_root.maru_mc .sikaku_mc.gotoAndPlay(2); |
tellTarget (“/maru_mc/sikaku_mc”) { gotoAndPlay(2); } |
(2)関数(function)使用不可の対処
Flash5以降で使用する関数スクリプトのfunctionが
Flash Lite1.xでは使用できません、
同じような効果を期待できる代用スクリプトcall()の既述方法を解説します。
※戻り値を持たせる事ができないためfunctionと同等ではない。
例)20フレーム目にスクリプトを記述しcall(20)でスクリプトを呼び出す方法。
まず20フレーム目のキーフレーム に下のスクリプトを記述します。
[code lang=”actionscript3″]
maru_mc._alpha=toumei;
[/code]
1フレーム目にstop();をかけボタンを配置しボタンアクションに下のスクリプト記述。
[code lang=”actionscript3″]
on (press, keyPress "1") {
toumei = 10;
call(20);
}
[/code]
この記述で1キーを押して20フレーム目のスクリプトを呼び出して使用する事が出来ます。
テンキーを押して透明度を変更するFlash
(3)文字列の連結方法
・Flash5以降では+でストリング(文字列)の連結が可能ですが、Flash Lite1.xでは変数は全て数字として扱われてしまいます。
対処として「+」ではなく「add」の連結演算子を使用します。
例)Flash5以降では、a=”A” b=”B”と変数宣言した場合a+bはABになるが、
Flash Lite1.xでは連結演算子が「+」の場合、変数は数字として扱われてしまう為a+bは0になってしまう。
・ストリング(文字列)を連結させる時は「add」を使用する。
連結演算子addを使用したFlash | 連結演算子+を使用したFlash |
addでのみストリングを連結できる。 |
+では変数を数字で扱ってしまう。 |
1 Comment
[…] 5.スクリプトについて Flashムービーを制御するアクションスクリプトの解説。PC向けのFlashとの代表的な記述の違いを解説。 […]