- 締切済み
ActionScriptについて
教えてほしいことがあります。 今、FLASHを勉強しているのですがActionScriptでひっかかっています メインのファイルがあってそこにボタンによって別々swfファイルを呼び出すのですが、それはなんとかできたのですが、そこにボタンをクリックすると今表示されてるやつがアニメーションしてから次の選んだファイルを表示させたいのです。今はどうやっても、ぱっぱっっと切り替わってしまいます。 どういうプログラムにしたらいいのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hokuto_ds
- ベストアンサー率45% (106/233)
>Aの30~40フレームを再生してBのファイルを呼び出したい これは「Aがちょっと再生したのちstopしてるところにボタンが押されると、Aの30~40を再生し、さらにBを読む」と言ったようなことでしょうか? そのばあいでも、同じ方法でできると思います。Aが最初の再生を終えたところでスクリプト用MCのなかの変数"switch"を1にします(#2の方の回答に便乗しています(^^;でも私は変数を_rootにおくとよく行方不明にしてしまうので;、MCのなかに入れておりますが)。 ここでボタンが押されたら、スクリプト用のMCの方でswitchの判定をします。if(swich)ならば(=switchが1ならば)→swtchを0にしたあと、AをgotoAndPlay(30)します。(もしくはAのなかに「フレーム30から再生する」ファンクションを設定しておいて、それを呼んでやる) で、Aが40フレームになったらAの方から「再生終了」の合図をスクリプト用MCに送り、それを受けてスクリプト用MCがBをloadMovie()する、というかんじでどうでしょう。 (「Aの40フレームからかならずBを呼ぶ」のであれば、Aの40フレームに直にloadMovie()を書きこんでもいいかも。あとから応用はしづらいですが) 自分は外部のswfからファンクションを呼んだことはないんですが;そんなわけで「自信なし」です。でもこのやりかたで可能だと思います。もっと効率のいいスクリプトもどこかにありそうですが‥‥
- duckling
- ベストアンサー率47% (88/185)
_root に 「スイッチ用の変数」(switch)と 「読み込むファイル用の変数」(file_name)を作ってから クリックされたら _root.switch = 1; //←スイッチを入れましょう。 file_name = "読み込むファイル"; A を goAndPlay して、 A のアニメーションの最後に、 if(_root.switch){ _root.switch = 0; //← switch は切っておきましょう。 file_name を読み込む処理 } という action を書き込んだらどうでしょう? これなら使い回しが効いて便利かと。
- hokuto_ds
- ベストアンサー率45% (106/233)
ボタンからじかにムービーを呼ぶのではなく、ひとつスクリプト管理専用のムービークリップを_rootにおいて、そこからムービー呼び出しのファンクションを呼ぶようにしたらどうでしょうか? (このMCは透明にするか、_visible=false; で非表示にしておきます) で、このMCのなかに、ボタンがクリックされると 「ムービーが再生中かどうかを判断し」 「再生されていなければ、指定されたムービーを読み込み」 「再生中ならば、その再生が終了した後に指定されたムービーを読み込み」 するようファンクションを設定しておきます。 再生中の場合、MCのなかの変数(たとえばSaiseiNum。はじめは0)を「1」にセットし、「再生が終了した」ことをswfファイルから告げ(swfの最後のフレームに再生終了宣言をするスクリプトを書いておく)、「SaiseiNum==1」ならば、ムービーを呼びだす、といったように。 あんまり外部からswfを読んだことがないので;自信はないのですが、そういう切り口もあるのではないかと。
補足
早い返事ありがとうございます。 少し説明が抜けていました。 読み込んだswfは少しアニメしてとまるようになっています。 Aというファイルが呼び出されて次にBを呼び出すボタンをクリックしたときに Aの30~40フレームを再生してBのファイルを呼び出したいと思っています。 なにか簡単にできそうでできないので力不足を感じます。 この補足からなにかアイデアあるでしょうか? なんどもすみません。よろしくお願いします。
補足
返事ありがとうございます。 参考にしながらやってみてはいるのですが、 どうもうまくいきません。 ボタンは全部で3つです たとえばAを押すとAが出てくる。Bを押すとAがgotoAndPlayしてくれません。 Aが読み込まれるときや飛ばしていきなりBが出てきたりします。 メインからA(変数に入ってる)をgotoAndPlayのしかたがいまいたちわかりません。まだまだ知識不足ですが、どうしてもこれを乗り越えたいです。 迷惑かけますがよろしくお願いします。