A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.2さんの言われるのが正当な方法だと思います。
でもややこしければ(ややこしくはないけど)
もっと簡単に考えてもできます。
最後のフレームに次のように書く。
これだけ↓
(変数名はNo.2さんと同じくloop_cntを使わせていただきます。何でも良いのですが。)
loop_cnt = Number(loop_cnt)+1;
if (Number(loop_cnt)<3) {
gotoAndPlay(1);
} else {
stop();
}
本当は,変数の初期化などすべきだと思いますが,
しなくても,変数の初期値は"空白"。
数としては0と扱われます。
少なくとも無限ループには落ち込みませんが,たしかに頑丈じゃないですね。
No.2
- 回答日時:
for 文は1つのフレーム内で繰り返し処理をしたい場合に使います。
フレーム間をまたいだループには使えません。フレーム間をループするには、変数を用意して、ループするごとにカウントを取ります。最後のフレームではその値を見て、ループを継続するか、停止するかの分岐を行うようにします。
フレーム1に、ループした回数を保持する変数を1つ、用意します。ここでは仮に、loop_cnt という変数だとします。
単に loop_cnt = 1; と書くと、ループしてフレーム1に戻ってきた時にループの回数がリセットされて、いつまでもループが終わらなくなってしまいます。
参照しようとした変数が存在しない場合は、undefined という値が返されます。この点を利用して、変数を最初の1度だけ初期化できます。
フレーム1には、次のようなスクリプトを書きます。
(以下のスクリプトをコピーして利用する場合は、各行頭の全角のスペースを、全て半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります)
//最初の1度だけ、ループカウンタを初期化
if( loop_cnt == undefined )
{
loop_cnt = 1;
}
最後のフレームでは、ループカウンタの更新と、ループを継続するかしないかの分岐を行います。
スクリプトにしますと、次のようになります。
//ループカウンタを更新
loop_cnt++;
//3回ループした場合は停止
if( loop_cnt > 3 )
{
loop_cnt = 1;
stop();
}
//それ以外はループを継続
else
{
gotoAndPlay( 1 );
}
「ムービープレビュー」の「制御」メニューで、巻き戻して再生しなおしてみると分かりますが。
最初は上手くいっても、2回目以降の再生では、ループは最初の1度しか行われません。
これは、変数 loop_cnt が既に定義されているので、フレーム1でのループカウンタの初期化が、2回目以降の再生では実行されないことが原因です。
バナーではあまりないかとは思いますが、右クリック( Mac では control +クリック)した時の Flash Player のメニューを表示する場合などは、閲覧者の操作で何度も再生される可能性も、ないとは言い切れません。
頑丈なプログラムにするためにも、ループ終了時にループカウンタを1に戻しておくことをおすすめします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- BTOパソコン 数時間使用しない状態からPCを起動に失敗後、 自動修復画面で再起動をすると正常に動き出す 3 2022/09/26 22:01
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- その他(パソコン・周辺機器) チャットGDPでAIが回答中に固まったらどうすればいいですか? 4 2023/05/19 16:31
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Java Java 南京錠 2 2023/02/04 11:46
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Flashで右クリックメニューにつ...
-
Flashファイルのループ再生方法
-
フレームでページ分かれていて...
-
C言語 バッファについて。
-
画面全体にマスク
-
C#でDLLファイル読み込みを行う...
-
URLを隠す、または別アドレスな...
-
FLASH上でインラインフレームみ...
-
車の運転時のメガネ 縁なし(...
-
ハードディスク DVD 読み...
-
長方形がランダムに消えるやつ
-
Directshowを使って動画を画像...
-
2Dゲーム作成する際、アニメー...
-
A.S 3.0 キーボードでのフレー...
-
三角形ABCのBを可変にしたい
-
FlashMX フェードアウト
-
ムービークリップの位置と角度...
-
フレーム内のオプションボタン...
-
メガネのフレームが半分に折れ...
-
VBで動的に作成したパネルの上...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Flashで右クリックメニューにつ...
-
【C#】wavファイルの複数同時再生
-
指定範囲のみのループ再生
-
サウンドの同期(スクリプトで...
-
Media Playerコントロールを貼...
-
Flash8 ムービーがループして...
-
ActiveBasic 音楽のループ再生
-
Flashファイルのループ再生方法
-
再生中のフラッシュ・巻き戻し...
-
Flash MX初心者です!
-
音楽を各種ページをまたいで流...
-
SWFとHTML組み込み後の再生速度...
-
フレーム内に移動したい
-
ソーラーパネルのアルミフレー...
-
HPを作りたい
-
phpで音を鳴らす
-
ドロップフレームの計算をエク...
-
フレーム内のオプションボタン...
-
車の運転時のメガネ 縁なし(...
-
C#でDLLファイル読み込みを行う...
おすすめ情報