Flashで音楽に合わせたループ再生を制限する方法
- Flashで音楽に合わせたループ再生するアニメーションを作成していますが、止まらずにループしてしまいます。
- ループ再生を制限するために、フレームごとに回数をカウントし、指定の回数を超えた時に停止するように設定しています。
- しかし、正しく動作しないようです。正しい記述方法についてご教示いただけますか?
- ベストアンサー
FLASHでループ再生を制限するAS
Flashで音楽に合わせループ再生するアニメーションを作っています。 Web等で調べたActionScriptを使い音楽に合わせた回数で止まるように入力したつもりですが、止まらず、またループ再生してしまいます。 どのような記述をすればよろしいのでしょうか? 複数のレイヤーがあるので、1フレーム目に var loop_cntA:Number = 0; とloop_cntAと変数を宣言して、 最後のフレームに loop_cntA = Number(loop_cntA)+1; if (Number(loop_cntA)<25) { gotoAndPlay(1); } else { stop(); } と入力し24回目までループするように設定したつもりです。 しかし、止まってくれず何度もループしてしまいます。 どのように記述するのが正しいのでしょうか? ご指導お願い致します。
- その他(ソフトウェア)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ActionScriptのバージョンが2.0か3.0か気になるところですが(いまどき2.0ってことは無いかな?)、これくらいならどっちでも同じでしょう。 最後のフレームから gotoAndPlay(1); で最初のフレームに戻った時に、 var loop_cntA:Number = 0; で、カウンタが0にリセットされてしまうため、何回ループしても25にならないためだと思います。 解決法としては、 すべてのフレームを一つ後ろにずらして、先頭に初期化専用のフレームを作り、そこに var loop_cntA:Number = 0; で宣言と初期化をして、最後のフレームからは gotoAndPlay(2); で、初期化専用フレームの次のフレームに戻る方法。 あるいは、フレームをずらさずに、最初のフレームを var loop_cntA:Number; if (isNaN(loop_cntA)) { loop_cntA = 0; } にして、宣言と初期化を分け、初期化されていない時だけ初期化する方法、 などが考えられます。 あと気になったところで、 Number(loop_cntA) となっているところがありますが、宣言で var loop_cntA:Number としてあるので、Number()は無くても大丈夫だと思います。 Number()はNumberかどうかわからないものや、NumberではないけれどもNumberに変換可能なものをNumberにするために使います。
関連するQ&A
- AS3でアニメーションを回数指定でループする方法
Adobe animate CCを使用しています。 ActionScript3.0で、アニメーション全体を 「3回ループさせて、3回目が終わったらアニメーションをストップ」 させる必要があるのですが、 ActionScript初心者なので、this.stopなどごく簡単なものしか分かりません。 ネットで色々調べている中で出てきた下記コードは ActionScript2.0あたりで書かれたものなのか、 当然のことながら、Adobe animate CCのアクションに貼り付けても うまく動作しませんでした。 //最初の1度だけ、ループカウンタを初期化 if( loop_cnt == undefined ) { loop_cnt = 1; } //ループカウンタを更新 loop_cnt++; //3回ループした場合は停止 if( loop_cnt > 3 ) { loop_cnt = 1; stop(); } //それ以外はループを継続 else { gotoAndPlay( 1 ); } 上記コードをどのように書き直せば Adobe animate CCでうまく動くでしょうか。 ご存知の方がおられましたら、ご教授いただけないでしょうか。 宜しくお願い致します。
- 締切済み
- Flash
- ループ再生のflashをタイムラインの途中から再生
AdobeのFlashを使って他人の作ったflashの編集をする事になったのですが、ActionScriptについての知識がほとんどなく困っています。 アルファの白い画面→''画像が表示''→アルファの白い画面→ループ、頭に戻る この動きの繰り返しの中で画像が1→2→3と変化します。 (タイムラインの1フレーム目で画像が切り替わるようになっています。) asの部分にはこう書かれています -------- if( loop_cnt == undefined || loop_cnt>mcimg._totalframes) {loop_cnt = 1;} --------- (内容と無関係だったらすみません><解読は出来ていない状態です) このflashの始まりを、上記の''画像が表示''の部分から始まるように変更したいです。 (flashを途中から再生させる→ループで頭に戻る→その後はそのまま全てのタイムラインをループ) ActionScriptでこのような命令をする方法があれば教えて頂きたいのですが・・・ 投稿も初めてなので記述に至らない点が多いかと思いますが、何卒よろしくお願い致します。
- ベストアンサー
- Flash
- FLASH 特定のレイヤーのフレームのみループ再生したい。
はじめまして。 ループ再生についてなんですが、 例えば レイヤー1にフレーム1~10があり、 フレーム8~10のみをループ再生したい場合 どうすれば良いのでしょうか?
- ベストアンサー
- グラフィックソフト
- ループを抜けて指定したフレームへ行きたい
大学の課題で簡単なFLASHゲームを作っているのですが アクションスクリプトの書き方で質問させてください。 最初の画面のスタートボタンを押したら、フレーム50からあるOPムービー的なものへ行き再生したいのですが うまくいきません。 最初のページには森の絵があり、枝が揺れているので 枝を揺らすために 別にアクションスクリプトを記述するだけのレイヤーをつくり this.gotoAndPlay(19) と書いてします。 この事で、全てのレイヤーが19~40をループしているようです。 スタートボタン(ボタンで作りました)を押す事で、 このループを抜けて、50フレームに行くのはどうしたらいいでしょうか 昨夜から本やサイトを見ているのですがどうにも失敗します on(press)関係をボタンをつけたレイヤーに書くとthis.gotoAndPlay(19)がきかず全て再生されてしまいます。 いまいちFLASHが理解できておらず、質問内容もガタガタですが 何とぞ宜しくお願いいたします。
- 締切済み
- Flash
- Flash cs4 ランダム再生
Flash初心者です。 やりたいことはホームページ上でアニメーションを再生させる際に、複数パターンのアニメーションをページをリロードするたびにランダムに切り替えるということです。 Flashにてアニメーションのタイムラインを複数パターンつくり、ランダム再生をActionScriptで制御するものを作成したいと思います。 アニメーションのタイムラインを作成しムービーシンボルとしたものを複数作成し、それをシーン1のタイムラインにて各フレームに配置して、1フレーム目にActionScriptにてgotoAndStop(ランダムフレームの記述?);とすればいいのかなと思っているのですが、正しいでしょうか? 現状ではアニメーションのムービーシンボルは必要なパターンだけ作成しました。 シーン1のタイムラインに配置まではしたのですが、ActionScriptの記述が素人なものでさっぱりわかりません。 どなたか教えていただけませんか? 自分なりにやってみたのですが、ランダム関数(?)以前にgotoAndStop()すら思うようにいきませんでした。 Flashはcs4を使用しております。ActionScript3.0のプロジェクトにして添付画像のように1フレーム目に gotoAndStop(10); としてみたのですが、パブリッシュしたswf ファイルは真っ白のまま何も動いてくれません。 gotoAndstop(10); としてみたらstopせずにタイムラインを再生しているようで、各アニメーションの最初のフレームだけが切り替わるものになってしまいました。 ともにコンパイルエラー 1180:未定義である可能性が高いメソッドgotoAndstopの呼び出しです といわれます。 ActionScriptが2.0と3.0とどちらがいいのかもわかってない状態ですが、ご教授願います。
- ベストアンサー
- Flash
- Flash3.0 ループ再生について
質問主は・・・ *FlashCS5を、感覚+Flashサイトを見てほとんど知識のないまま使っております。 *その上Actionscriptが苦手でほとんど手をつけておりません。 *感覚的には例えば「あるボタンを押すとURLを別窓で開く」程度のものしか作れません。 質問は以下のとおりです。 A → B → C と画像を切り替えて、ループ再生させたいのですが、 ABCともに、再生終了時には、ゆっくりとアルファが100→0になるようにしています。 そのアルファが100の時点から、次の画像が始まるようにかぶせています。 A→→→→100→0 B→→→→100→0 C→→→→100→0 わかりにくいですが図のようなイメージです。 http://www.hitachi.co.jp/ (この日立のサイト様を手本にしています。) しかしまぁ当たり前なのですが、ループ再生をするとなると、Cの終りがAの頭にかぶっているようにならないのです。 A→→→→100→0 B→→→→100→0 C→→→→100→0 A→→→→100→0 B・・・・・・・・・・・ 上図のようにしたいのですが・・・ Actionscriptは使っていないのですが、やはり使わないと不可能なのでしょうか? となるとgotoandplayなどを使うのでしょうか? そのあたりもよくわかっておらず・・・ 詳しく答えて頂けると嬉しいです。 また、Actionscriptなどのプログラム言語は、みなさんどうやって勉強されたのでしょうか? 構造を理解するのが本当に苦手で・・・とっつきやすい方法があれば、それも教えていただけると嬉しいです。 ちなみに書籍を読んで只今勉強しております。『速習WebデザインActionscript』 林拓也さん著 3/4ほど実践しながら読み進めていますが、なぜか身についてる感じがしません(泣 最後に、過去の質問ももちろん見てみました。ですがどれも微妙に違うのです。 微妙に違うと、その変え方がわからないため自分では解決できなかったので、質問させて頂きます。 長文失礼しました。どうぞ宜しくお願い致します。
- ベストアンサー
- Flash
- FALSH一部レイヤーだけループ再生
ABCDと4つのレイヤーに分けたアニメーションで、 AとBだけ、一度きりの再生、CとDだけループさせていたいのですが、どのようにしたらよいのでしょうか。 AとBの最終フレームにだけ stop(); をいれてみたのですが、全然間違っているみたいで・・・。 よろしくお願いいたします。 Flash MX/winです。
- ベストアンサー
- Flash
- AS2.0 ボタン化したムービークリップを途中で変更
AS2.0で困っています。 ●現在、ムービークリップ「color1」内のフレームに【_up】【_over】【_down】とラベルを作って、ボタンにしています。 ムービークリップ「color1」自体には、[on(release){}]と記述しています。 (ボタンとして機能しています。) そこまではよかったのですが、 ムービークリップ「color1」の【_down】ラベルのあとに【playing】というフレームラベルを作って、【playing】ラベルのアニメーションを再生したいと思ったら、できませんでした。 ○【_down】のスクリプトレイヤーに、gotoAndPlay("playing"); と記述しましたが、全く動きません。 初歩的な質問で大変申し訳ないのですが、 どのような構造にすれば、【_down】から【playing】レイヤーを再生できますか? よろしくお願いいたします。
- 締切済み
- Flash
- flashのActionscriptについて
レイヤーを指定して、gotoAndplay("レイヤー名",2)で、2フレームへ飛ぶようにすると、指定されたレイヤーだけが再生され、他のムービーの映像は映らないということになってしまうのでしょうか? 試してみたところ、その他の映像が映らなくなってしまっていたようだったのですが・・・。
- ベストアンサー
- その他(プログラミング・開発)
お礼
早速ご返答ありがとうございます。ご指摘のとおり3.0です。 1番目のやり方でも、やはりスルーして再生してしまったので、2番目のやり方を使用したところ、指定した回数で止まるようになりました。 本当にありがとうございます!