- ベストアンサー
コンテンツを閉じる動作
現在、1つのFlashでサイトを制作しています。 メニューには 「Home」「About」「Photo」「Mail」 とあるのですが、 例えばトップページから「About」をクリックすると 「About」コンテンツがアニメーションして開かれます。 そして、次に「Photo」をクリックしたら すぐ「Photo」コンテンツを表示させるのではなく その前に「About」コンテンツが閉じていくアニメーションを流したいのです この場合、どのようにフレームを組み、移動指定したら良いのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
各フェードイン&フェードアウトのアニメーションをあらかじめ用意しておいて, ファエードインしきったフレームに stop() を書いて止めるようにしておきます。 「Home」 「About」 「Photo」 「Mail」 ●-->●-->●|●-->●-->●|●-->●-->●|●-->●-->●| イン↑↑ ↑アウト 〃 〃 〃 stop() そして,頭の中で勝手に, 「Home」は1,「About」は2,「Photo」は3,「Mail」は4 などという数または文字を決めておきます。 「About」→「Photo」 と進むときには, 「About」フェードアウト→「Photo」 と進むわけですから, 「About」にある「Photo」へ行くボタンには, ---------------------------- on (release) { _root.flag = 3; _root.play(); } ---------------------------- と書いて, play させるとともに勝手に決めた変数(flag でも何でも良い)に, それぞれのフレームに対応する勝手に決めた番号または文字を入れておきます。 そして, 「About」 の最終フレームには, ----------------------------------------- if (_root.flag == 1) { _root.gotoAndPlay("Home のフレーム"); } else if (_root.flag == 2) { _root.gotoAndPlay("About のフレーム"); } else if (_root.flag == 3) { _root.gotoAndPlay("Photo のフレーム"); } else if (_root.flag == 4) { _root.gotoAndPlay("Mail のフレーム"); } ----------------------------------------- と書いておけば, 「About」にある「Photo」へ行くボタンをクリックしたとき, flag の値は 3 になっているので, 「About」の最終フレームでは, _root.gotoAndPlay("Photo のフレーム"); が実行されて, 「Photo」に自動的にジャンプします。 #1の方の書かれている方法でもかまいません。 書かれている骨子の部分は同じだと思います。 とにかく何か適当な変数と値を用意すれば良いのです。 あとは if 文の条件分岐です。 FLASHアクションスクリプト入門編 if / if else文 http://isvalid.jp/actionscriptLab/ASlesson/actionsctipt_if.html
その他の回答 (1)
- ebic
- ベストアンサー率42% (8/19)
一例です。 _rootにH,A,P,M、4つの変数を設定。いずれも初期値0。 例えばHomeがクリックされたら、 H,A,P,Mが全て0なのを確認してHに1を代入。 Home開始アニメスタート。 その上でPhotoをクリックされたら、 H,A,P,Mをチェック。 1のメニュー(この場合Home)の終了アニメ再生。 終了アニメ完了後、Hに0代入。 H,A,P,Mが全て0なのを確認してPに1を代入。 Photo開始アニメスタート。 あとは、この繰り返しです。 これをASでどうやるかを考えてみて下さい。