- 締切済み
Flash ActionScript3.0ボタン.
このまえはじめたばかりの初心者です。FlashCS4です。 Flash ActionScript3.0ボタンでフレームに飛ぶ方法がわかりません・・ AS3.0ではボタンにスクリプトが書けないので メインタイムラインの最初のフレームにスクリプトを書くのですよね? アドレスに飛ぶ方法は this.stop(); // イベントを設定 stage.addEventListener( MouseEvent.CLICK , onClick ); // 画面クリックをするとonClickが動作するイベント function onClick ( event:MouseEvent ) { // URLRequestを設定 var url:URLRequest = new URLRequest( "http://www.google.co.jp" ); // 実際にページに飛ぶ navigateToURL( url ); } こちらであっていますでしょうか・・? これを多少いじって次のフレームに飛ばそうとおもうのですが、うまくいきません・・ どなたか、flashサイトでも、わかりやすいところがあれば ご伝授お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> メインタイムラインの最初のフレームにスクリプトを書くのですよね? それが「正解」か「不正解」かと問われるとおおむね「不正解」です。 スクリプトはタイムラインのキーフレームか,クラスファイルに書きます。 ボタンがメインタイムラインのフレーム1で登場するボタンでしたら メインタイムラインのフレーム1に書いても良いでしょう。 しかし ボタンがメインタイムラインのフレーム2以降に登場するのでしたら その登場フレームのキーフレームなど,ボタンが存在するフレームに書きます。 同じボタンでも登場シーンなどによって命令を変える必要が出てくる場合も多々ありますから こういう仕様であるのは当然です。 あと ムービークリップ内にもフレームがあります。 そのムービークリップ内フレームのキーフレームにスクリプトを書く場合も多々出てきます。 === === > こちらであっていますでしょうか・・? ステージの任意の(全ての)場所をクリックしたときに Googleを表示させたいのでしたら,それで良いと思います。 ステージの任意の(全ての)場所ではなくて ボタンをクリックしたときにGoogleを表示させたいのでしたら間違っています。 === === > 次のフレームに飛ばそうとおもうのですが、 確認ですが その フレーム とは Flash 内のタイムラインのフレームのことですよね? HTMLのフレームとかインラインフレームの意味ではありませんよね? (navigateToURL を使われているので ふとそんな疑問が...) ボタンクリックによって Flash 内のタイムラインを次のフレームに進める場合 まずステージ上のボタンを選択して プロパティパネル より 例えば「my_btn」 というインスタンス名を付けます【図】↓。 そしてその ボタン「my_btn」 が存在するフレームのキーフレームに次のように書きます。 ------------------------ //このフレームで再生を停止 this.stop(); // ボタン my_btn にイベントを設定 my_btn.addEventListener( MouseEvent.CLICK , onClick ); // ボタンをクリックをすると動作するイベント function onClick( event:MouseEvent ) { //次のフレームで停止(※) this.nextFrame(); } ------------------------ 「次のフレームに飛ばす」の状態によって //次のフレームで停止(※) this.nextFrame(); の部分は変える必要があるかもしれません。 例えば, //フレーム2 から再生 this.gotoAndPlay(2); のようにする必要があるかもしれませんし, //フレーム2 で停止 this.gotoAndStop(2); のようにする必要があるかもしれませんし, //次のフレームから再生 this.gotoAndPlay(this.currentFrame+1); のようにする必要があるかもしれません。 stop(),play(),gotoAndStop(○○),gotoAndPlay(○○) この4つは早く覚えた方が良いでしょう。
お礼
丁寧な回答本当にありがとうございます。 大変参考にさせて頂きました。本や、WEBでAS3を勉強中です。 ありがとうございました。