- ベストアンサー
Flashでスキップボタンの作成
いつもお世話になっております。 Adobe Flash CS3 Professionalでスライドショーをつくり、ホームページ上で公開を予定しています。 そこで、下記ホームページのようにスキップボタン(できればリプレイボタンも)を作りたいと思っています。 過去の質問からgotoAndStopでできそうだとわかったのですが、なかなか思うようにいきません。 どなたかご回答よろしくお願いします。 参考URL:http://h50146.www5.hp.com/products/desktops/personal/m9380/ なお、現在flaファイルのスライドショー自体は完成しており、あとはスキップボタンを作るのみです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もう少し簡単に。^^; [skip]と[replay]はムービークリップですよね。 1フレーム目に「top」426フレーム目に「end」と半角英数でフレームラベルを付けてください。そして、426フレーム目のフレームに this.stop(); とアクションをつけます。(必ず半角英数で) 次にボタンを配置したレイヤーで1フレーム目の[skip]を選択。 on (press, release) { _root.gotoAndStop("end"); } とムービークリップアクションをつけます。 次に426フレーム目の[replay]を選択。 on (press, release) { _root.gotoAndPlay("top"); } とムービークリップアクションをつけます。 上記の場合、インスタンス名をどちらも不要です。 ご参考まで。
その他の回答 (1)
- ryo2501
- ベストアンサー率46% (15/32)
貴方の作ったファイルのフレーム数はどのくらいありますか? 仮に200フレームであることを前提にお話します。(AS2.0で書きます) 新規レイヤーを作成し、1フレーム目と200フレーム目にキーフレームを打ちます。(レイヤー名を buttonMCとします) Flashのテキストツールかドローソフトで[skip]と[replay]のパーツをを作り、インスタンスに変換しておきます。 パーツ[skip]にインスタンス名[skip]を、パーツ[replay]にインスタンス名[replay]を付けます。 今しがた作ったレイヤー(buttonMC)の1フレーム目に[skip]を配置し、[skip]と同じ位置に重なるよう200フレーム目に[replay]を配置します。 新たに新規レイヤーを作成し、1フレーム目と200フレーム目にキーフレームを打ちます。(レイヤー名を actionsとします) 今しがた作ったレイヤー(actions)の1フレーム目にスクリプトを書きます。 skip.onPress = function() { gotoAndStop(200); } 200フレーム目には stop(); replay.onPress = function() { gotoAndPlay(1); } と記述します。
お礼
ryo2501さま、ご回答ありがとうございます。 ご指示の通りスクリプトを記入しましたが、 swfに書き出した際に下記のようなエラーが生じました。 ちなみに私の作成したフレーム数は426あります。 レイヤーactionssフレーム1 skip.onPress = function() { gotoAndStop(426); } 行3:演算子'='は、オペランドの前に来る必要があります。 行4:予期しない'}'があります。 レイヤーactionsフレーム426 stop(); replay.onPress = function() { gotoAndPlay(1); } 行5:演算子'='は、オペランドの前に来る必要があります。 行6:予期しない'}'があります。
お礼
suzukoさま、ご回答ありがとうございます。 お陰様で無事完成しました。 >[skip]と[replay]はムービークリップですよね。 この一言がキーでした。 [skip]と[replay]をムービークリップではなく、ボタンにしていたようです。 これほど早く解決するとは思いもしませんでした。 このたびは、本当にありがとうございました。