Flash Lite 1.1の基本的なスクリプト制御
Flash Lite 1.1の基本
Flash Lite 1.1はFlash 4ベースの仕様となっています。とは言っても、厳密にFlash 4とまったく同じ仕様というわけではなく、if文や文字の連結などで記述方法が異なる部分があります。
現在、PC版のFlashコンテンツを制作する場合、ほとんどがFlash 5以上の環境で制作を行っていると思います。そのため、PC版のFlashコンテンツ制作の基本知識がある方でも、Flash Lite 1.1でコンテンツ制作をする場合は、使いなれた記述方法と少し異なる場合があると感じるかもしれません。
それらの相違点と合わせて、基本的な部分からFlash Lite 1.1の解説をしていきます。
ムービークリップのプロパティの取得と設定に関しては、PC版のFlashと同様にドットシンタックスを利用することができます。
まず、ムービークリック「mc」の中にある「a」というムービークリップのプロパティを設定します。
_root.mc.a._x = 100;
また、下記の記述も同様の結果が得られます。
_root["_root/mc/a"]._x = 100;
tellTarget("_root/mc/a") {_x = 100;}
タイムライン制御の場合は、ドットシンタックスではなく、スラッシュシンタックスを用いることになります。PC版のFlashコンテンツ制作を行う場合であれば、下記のようにドットシンタックスを使用して記述します。
_root.mc.stop(); //Flash Lite 1.1ではエラーが出ます
しかし、Flash Lite 1.1の場合はtellTarget()関数を使用する必要があります。この部分が、大きくPC版のFlashと異なります(パスの指定時に「""」が必要です)。
tellTarget("_root/mc") {
stop(); //Flash Lite 1.1ではtellTarget()関数を使用する
}
また、下記についてもご注意ください。
・tellTarget("/")とtellTarget("_root")は同じ意味
・tellTarget("../")とtellTarget("_parent")は同じ意味
・レベルを指定する場合はtellTarget("_level0")などと記述
変数を指定するには、ドットシンタックスを使用するか、ドット(.)とコロン(:)とを組み合わせたスラッシュシンタックスを使用します。
ルートにある「abc」という変数を絶対パスで指定します。
_root.abc
/:abc
1つ上の階層にある別のムービークリップのabcという変数に相対パスで指定します。
_parent.mc1.car
../mc1/:car
入れ子になっているムービークリップのabcという変数を絶対パスで指定します。
_root.mc1.mc2.car
/mc1/mc2/:car
以上のように、Flash Lite 1.1とPC版のFlashの大きく違いは、タイムラインの制御でtellTarget()を使用することです。tellTarget()のパスの指定は、スラッシュシンタックスを用いるので記述方法に慣れておく必要があります。
今回はこのように使用頻度の高いスクリプトを主に解説していきますが、そのほかの細かいスクリプトなどについては、図1のようにFlashのヘルプを見てみると良いでしょう。Flash Lite 1.1の場合、数が少なく単純なスクリプトが多いため、十分に活用できるはずです。
文字列の連結と比較について
Flash Lite 1.1の場合、文字列と数値の連結と比較の記述がPC版のFlashと少し異なります。
Flash Lite 1.1で文字の連結を行う場合は、「add」を使用する必要があります。「+」で連結しようとすると結果が「0」となったりするので注意しましょう。
a = "Flash" add "Lite";
比較演算子も「==」などを用いていますが、Flash Lite 1.1の場合は数値のみの比較となります。文字列の場合は「eq」を使用することになり、非等価の場合は「ne」を用います。
a = "ABC"
if (a eq "ABC")
{//[処理]}
このようにFlash Lite 1.1で文字の処理を行う際は注意が必要です。ほんの少し記述方法が変わるだけですが、PC版のFlash制作に慣れた方だと、つい「+」を使用してしまい、文字が正しく結合されず思い通りの結果が得られない状況になったりするので、しっかりと覚えておきましょう。