FlashMXマニュアル「演算子」>「その他の演算子」>「?:」から抜粋。
引用:
?: (条件演算子)
expression1 ? expression2 : expression3
説明
演算子; expression1 を評価し、expression1 の値が true である場合は、expression2 の値を返 します。それ以外の場合は、expression3 の値を返します。
引数が1のときは値がありますのでtrueとなって_xscale=200、0のときは_xscale=100(0はブール値ではfalseです)。
(Enlarge_mcとReduce_mcで渡している引数が異なることに注目してください)
Map_mc._xscale = flag? 200 : 100;
これは以下と同様の動きをします。
if(flag){
Map_mc._xscale = 200;
}else{
Map_mc._xscale = 100;
}
また、おっしゃるように2つ関数を作って割り当てても良いと思いますよ。
Enlarge_mc.onRelease = enlarge_function;
Reduce_mc.onRelease = reduce_function;
変数スコープが分からなければ、
「Flash Help」>「Flashの使用」>「ActionScript 言語について」>「変数について」を見てみてください。
抜粋すれば
引用:
タイムライン変数は、ターゲットパスを指定すれば、あらゆるタイムラインで使用できます。
また、メニューの「制御」>「ムービーのデバッグ」をすれば変数の動きがよく分かります。
引用:
それからもう一つ教えてください。
マスクを作成、ドラッグ、などのスクリプトは最初のフレームに書いておけばいいのでしょうか。