重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

このまえはじめたばかりの初心者です。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サイトでも、わかりやすいところがあれば
ご伝授お願いします。

A 回答 (1件)

> メインタイムラインの最初のフレームにスクリプトを書くのですよね?



それが「正解」か「不正解」かと問われるとおおむね「不正解」です。
スクリプトはタイムラインのキーフレームか,クラスファイルに書きます。

ボタンがメインタイムラインのフレーム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つは早く覚えた方が良いでしょう。
 
「Flash ActionScript3.」の回答画像1
    • good
    • 0
この回答へのお礼

丁寧な回答本当にありがとうございます。
大変参考にさせて頂きました。本や、WEBでAS3を勉強中です。
ありがとうございました。

お礼日時:2011/03/28 15:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!