アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
さっそくですが質問です。

携帯用フラッシュ(Flash lite1.1使用)
画面右側から岩が画面左に転がるトゥイーンをつくって
それを5回繰り返したいと思い、スクリプトを

for(i = 0; i < 5; i++){
gotoAndPlay("game")
}

という風に書いたところずっとループしてしまいます。
回数が終了したらとまるようにしたくて、この後にstop();と
書いたら、トゥイーンが一回で止まってしまいました。。

指定した回数だけ回して止めるにはどのようなスクリプトに
すればいいのでしょうか?
よろしくお願いします。。

ちなみに
”game”というのはトゥイーンのラベル名です。

A 回答 (1件)

for文で処理をした場合,


そのフレームが表示されたときに一気(0.001秒以下)に処理が終わってしまうだけです。


gotoAndPlay(); を5回繰り返す場合は,
繰り返しをしたい最後のフレームをキーフレームにして(してあればそのままで),
その繰り返す最終フレームに次のように書けば良いと思います。

-----------------------------
// 変数 count の値に 1 をプラスする
count++;

// もし count の値が 5 以下であれば
if (count<=5) {
// フレームラベル geme へ行く
gotoAndPlay("game");
} else {
// それ以外は ストップ(?)
stop();
}
-----------------------------

この辺りは,Flash Lite 1.1 まででも,Flash MX(Flash Player 6) まででも同じです。
特に指定のない変数の値は,Flash MX までだと 0 になります。

上のスクリプトの場合,
最初そのフレームに達したとき,
count は 0+1 で 1 ,2回目は 2 ,… …, 5回目は 5 となり,
count がさらに 5 より大きくなると, else でストップします。
ストップさせたいのかどうかわかりませんでしたが,とりあえず stop(); にしてみました。
他のフレームに gotoAndPlay(); などをしても良いと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!