スクリプトについて

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

Get Adobe Flash player

oto_docomo
callテスト
flaファイルダウンロード
(15.8KB)

 
 
(3)文字列の連結方法
・Flash5以降では+でストリング(文字列)の連結が可能ですが、Flash Lite1.xでは変数は全て数字として扱われてしまいます。
対処として「+」ではなく「add」の連結演算子を使用します。

例)Flash5以降では、a=”A” b=”B”と変数宣言した場合a+bはABになるが、
Flash Lite1.xでは連結演算子が「+」の場合、変数は数字として扱われてしまう為a+bは0になってしまう。
・ストリング(文字列)を連結させる時は「add」を使用する。

連結演算子addを使用したFlash 連結演算子+を使用したFlash

Get Adobe Flash player


addでのみストリングを連結できる。
add

Get Adobe Flash player


+では変数を数字で扱ってしまう。
add_2

1 Comment

Comments are closed.