dポイントプレゼントキャンペーン実施中!

flash CS3
シーン1をループさせないで止めたいので「stop();」が上から2番目のレイヤーの1459行目のキーフレーム(最後のフレーム)に入っていて、一番上のレイヤー(1459行目の最後のフレーム)にボタンのインスタンスを配置して「もう一度みる」をクリックすると最初からFlashが見れるようにしたいと考えています。
この場合のアクションスクリプトの記述の仕方を教えてください。

使うスクリプトは
on (press) {
getURL("http://www.******/");
}
でいいんですよね?

よろしくお願い致します。

A 回答 (1件)

まず on (press) は,


「ボタンをクリックしたとき」 ではなくて 「ボタンをプレスした(押した)とき」 です。
ボタンをクリックしたときに何かをさせたいのでしたら,
on (release) です。

次に getURL() は,Flash 内のことに携わるスクリプトではなくて
「ブラウザでページを開く」 など Flash 外 のことをするときに使うものです。
(getURL の引数は ブラウザへのリクエストになります。)

Flash 内の,つまり SWFムービー内のタイムラインを操作するのでしたら,
stop() や play() や gotoAndStop() や gotoAndPlay() を使います。

ご質問の場合は
おそらくメインのライムライン(_rootのタイムライン)の再生フレームを1フレームに戻して再生させたいのだろうと推測されますから,
ボタンがボタンインスタンスである場合(ムービークリップ製のボタンでない場合),

on (release) {
gotoAndPlay(1);
}

または

on (release) {
_root.gotoAndPlay(1);
}

または

on (release) {
this.gotoAndPlay(1);
}

のようにする必要があります。


なおご存じだとは思いますが,
on (press) や on (release) などが ボタン や ムービークリップ 自体に書けるのは
ActionScript 1.0 または 2.0 設定のときだけです。

Flash CS3 のデフォルトのパブリッシュ設定などでは ActionScript 3.0 を使うようになっていますから
この設定を あえて(意識して) ActionScript 2.0 以下に変更するか
あえて(意識して) ActionScript 2.0 以下のドキュメントを作成する必要があります。
    • good
    • 0
この回答へのお礼

BlurFiltan様回答ありがとうございます。
実は下記の件まったくしりませんでした。こちらの回答を見る前に発見して愕然!としてそういうことがあるのか~という感じで、3.0→2.0に変更して
ボタンインスタンスに
on (release) {
getURL("http://www.matyu.net"); を

タイムラインの最終行に
stop();を
書いてやったら見事にできました。
BlurFiltan様の書いてくださった件は基本だと思いますのでこれからは注意して作業を進めたいと思います。

>なおご存じだとは思いますが,
on (press) や on (release) などが ボタン や ムービークリップ 自体に書けるのは
ActionScript 1.0 または 2.0 設定のときだけです。

お礼日時:2011/02/11 16:25

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