- ベストアンサー
ボタンインスタンスにスクリプトを記述するやり方
flash CS3 シーン1をループさせないで止めたいので「stop();」が上から2番目のレイヤーの1459行目のキーフレーム(最後のフレーム)に入っていて、一番上のレイヤー(1459行目の最後のフレーム)にボタンのインスタンスを配置して「もう一度みる」をクリックすると最初からFlashが見れるようにしたいと考えています。 この場合のアクションスクリプトの記述の仕方を教えてください。 使うスクリプトは on (press) { getURL("http://www.******/"); } でいいんですよね? よろしくお願い致します。
- みんなの回答 (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 以下のドキュメントを作成する必要があります。
お礼
BlurFiltan様回答ありがとうございます。 実は下記の件まったくしりませんでした。こちらの回答を見る前に発見して愕然!としてそういうことがあるのか~という感じで、3.0→2.0に変更して ボタンインスタンスに on (release) { getURL("http://www.matyu.net"); を タイムラインの最終行に stop();を 書いてやったら見事にできました。 BlurFiltan様の書いてくださった件は基本だと思いますのでこれからは注意して作業を進めたいと思います。 >なおご存じだとは思いますが, on (press) や on (release) などが ボタン や ムービークリップ 自体に書けるのは ActionScript 1.0 または 2.0 設定のときだけです。