• ベストアンサー

ボタンインスタンスにスクリプトを記述するやり方

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

  • Flash
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.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 以下のドキュメントを作成する必要があります。

matyu0531
質問者

お礼

BlurFiltan様回答ありがとうございます。 実は下記の件まったくしりませんでした。こちらの回答を見る前に発見して愕然!としてそういうことがあるのか~という感じで、3.0→2.0に変更して ボタンインスタンスに on (release) { getURL("http://www.matyu.net"); を タイムラインの最終行に stop();を 書いてやったら見事にできました。 BlurFiltan様の書いてくださった件は基本だと思いますのでこれからは注意して作業を進めたいと思います。 >なおご存じだとは思いますが, on (press) や on (release) などが ボタン や ムービークリップ 自体に書けるのは ActionScript 1.0 または 2.0 設定のときだけです。

関連するQ&A

  • FlashMXで、ボタンでを押してページ移動させたい。

    タイトルの内容の質問です。 説明不足で理解出来ない部分が多々あるかもしれませんが、何卒宜しく御願い致します。 早速なんですが、質問の内容です。 題名にもあるように、ボタンを押して、現在開いているページから、別のページに進みたい(トップページから解説ページに進むという具合に)のですが、これがうまくいきません。 状況として、 ・100フレーム目までモーショントゥイーンで動画を作成 ・その上のレイヤーで以下のアクションスクリプトで停止させている   stop(); ・さらにその上のレイヤーで以下のアクションスクリプトを実行させるボタンを準備している   on (press) { getURL("http://www.トップ.com/ニュース.html"); } ・トップのhtmlと同じ階層にニュースというフォルダを置き、その中にnews.htmlファイルを置いている このような作成をしているのですが、上手くいきません。 よろしければ、教えて頂きたく思います。宜しく御願い致します。 ※Mac OS X.3.9 Flash MXを使っています。

  • ジャバスクリプトのように別ウインドウを開くのをフラッシュで

    たびたびお世話になっております。 FlashMXで、メニューボタンを作っています。 左のフレーム(フレーム名=menu)にFlashで作ったボタンを配置し 右のフレーム(フレーム名=main)に開くというスクリプトは 以下なのですが on (press) { getURL("main.htm", "main"); } サイズやツールバーの有無などを指定した別ウインドウを開くには、どう書けばいいのでしょうか? HTMLだとジャバスクリプトを使いますよね。 それをアクションスクリプトと連携させるやり方があるのでしょうか。 よろしくお願いします m(_)m

    • ベストアンサー
    • Flash
  • gotoAndPlayでのインスタンス指定がうまくいかない

    みなさんこんばんわ。質問があって来ました。 レベルはまだAS3を始めて1ヶ月の者です。 あるシーンで4つのボタンインスタンスを配置しており それぞれクリックすると別のシーンへ飛ぶように設定したいのです。 「Action」というアクション用レイヤーを作り その1キーフレーム目に ------------------------------------------------------------- function about_car(btn) { this.gotoAndPlay("about_car"); } menu_bt1.addEventListener (MouseEvent.CLICK,about_car); ------------------------------------------------------------- と記述しましたが「1120: 未定義のプロパティ menu_bt1 へのアクセスです。」 というエラーが出てしまいます。 menu_bt1というインスタンスは間違いなく存在してインスタンス名も入れているんですが・・。 Actionレイヤーへの入力が間違っているんでしょうか。 はたまたスクリプト自体が間違ってるんでしょうか。 単純に4つのボタンから各シーンへ飛ばしたいです。 4つのシーンはラベルレイヤーを作成し切り分け済みです。 乱文ですみませんが、もしお力貸していただければ幸いです。 よろしくお願いいたします。

  • getURLが効きません。

    getURLが効きません。 ホームページを作っています。 FLASHのムービーが再生し終わったあと、 自動的に指定したURLにジャンプさせたいのですが、 うまくいきません。 使っているソフトは、 Adobe Flash Professional CS5 です。 タイムラインにAcctionレイヤーをつくって、 最終フレームをキーフレームにして、 ActionScriptを記述しました。 1行目に getURL(http://xn--eck3azbp7f0frfe.com/html.html); と記してあります。 プレビューすると、 シーン=シーン 1, layer=レイヤー 18, frame=46、行 1 ')' または ',' が必要です。 コンパイルエラーというのが出てきました。 ActionScript自体が効かないのかと思いましたが、 stop(); の指令だとちゃんと効いてくれます。 じぶんでも調べては見たのですが、 どうすれば飛べるのかわかりません。 みなさまの知恵をお貸しください。 よろしくおねがいします。

  • flashのgetURLがエラーになってしまいます

    Adobe Flash Professional CS5(体験版)を使用して、個人ホームページのトップ用ムービーを作成しています。 ムービーの再生が終了すると同時に、自動的に指定したwebページに移動するようにしたいのですが、この教えてgooでも同様の質問がたくさん出ており、そのとおりに行っているのですが、どうしても下記のエラーが出てしまいます。 『未定義の可能性が高いメソッドgetURLの呼び出しです』 アクション用のレイヤーの最終フレームにキーフレームを挿入し、そこにアクションスクリプトで下記のように入力しています。 stop(); getURL("http://www.google.co.jp/"); これを入力し、『パブリッシュプレビュー(html)』や『シーン・ムービープレビュー』をしてみるとエラーがでるのです。動画も連続再生されて、stopすら作動しません。 stop();のみであれば、ちゃんと機能するのです。 どこかおかしいところがあるのでしょうか? プレビューでは作動しないようになっているのでしょうか?それにしても、stopまできかなくなる理由がわかりません。 がんばって長いムービーも作成したので、最後の最後でつまづいてしまい困っています。お 詳しい方がいらっしゃいましたら、よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flashのアクションスクリプトについて質問があります。

    Flashのアクションスクリプトについて質問があります。  FlashのCS2を使って選択式クイズを作っています。タイトルや問題などのフレームにはラベルを付けて、ラベルレイヤーのキーフレームにスタートや選択肢のボタンを配置しました。そして、タイトルラベルにあるスタートボタンを押すと問題1に飛ぶようにアクションスクリプトを設定しました。その後、きちんと設定出来ているか再生して確認してみたところ、問題1から再生されて、タイトルから再生されなくなりました。何回かやり直してみたのですが、タイトルから再生されませんでした。アクションスクリプトの設定は、「タイトルラベルのキーフレームをクリック→スタートボタンが選択されていることを確認→F9を押してアクションスクリプトの設定画面を表示→スクリプトアシストをオンにする→グローバル関数の中にあるgotoをダブルクリック→移動して再生を停止をオンにする→タイプをフレームラベルに変更→フレームのメニューをクリックして問題1を選ぶ」というふうにしました。 なぜ、タイトルからではなくスタートボタンを押さないと表示されない問題1が表示されたのかわかりません。どこで設定を間違えているのか分からないので、わかる方がいらっしゃたら教えていただきたいと思います。お願いします。

  • テキストスクロール(外部ファイル読み込み)

    FLASH8を使ってます。 FLASHを勉強中なのですが、アクションスクリプトをいじるようになるとどうしても恐々というか…成功しないでいます。 http://www.flashiroha.com/script/as5.html ↑を参考の『TextField及びスクロールボタンを作成、使用する方法』を作ってるのですがプレビューをするとエラーが出るんです。 『**エラー** シーン = シーン 1, レイヤー = レイヤー 4, フレーム = 1 :行 1:マウスイベントはボタンインスタンスでのみ使用できます。 on(press) { **エラー** シーン = シーン 1, レイヤー = レイヤー 4, フレーム = 1 :行 2:シンタックスエラー   _root.textbox.scroll--; **エラー** シーン = シーン 1, レイヤー = レイヤー 4, フレーム = 1 :行 3:シンタックスエラー   } **エラー** シーン = シーン 1, レイヤー = レイヤー 3, フレーム = 1 :行 1:シンタックスエラー   on(press) { ActionScript エラー数 :4 報告済みエラー :4』 です。 指定してあるとおりにしてるつもりなんですがどうしてエラーがでるのか、 外部ファイルを読み込めないでいるのか分かりません。 どなたか教えていただけませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • FlashMXでのスクリプトの質問。

    FlashMXでのスクリプトの質問です。 1~30フレームまで5回繰り返して、その後31フレームに移り最後の60フレームでストップするというアクションをさせるには、どのようなスクリプトを使えばいいのでしょうか? 30フレーム目に1フレーム目に戻り5回繰り返すというアクション(これが分かりません。)、その後、6回目には31フレームに移り(gotoAndPlay(31);でしょうか?)そのまま最後の60フレームまで進み、60フレーム目で停止(stop();)。 これくらいしか私には分かりません。 どうか知恵をお貸し下さい。 宜しくお願いします。

  • ムービークリップ再生後次のフレームへ移動しません

    アクションスクリプトを使って、テキストが下から上へ流れるようにムービークリップを再生し、テキストが流れ終わったところで次のフレームへ移動させたいのですが、フレームが移動せず困っています。 スクリプトは色々なところで調べて、やっとの事で下記のように書きました。 使用しているのはFlash MX 2004 です。 |○  □|○|  ←1.スクリプトレイヤー |●    □|  ←2.ムービークリップレイヤー |○|●→|●|  ←3.ムービークリップ後に再生したいレイヤー 1.のスクリプト(2つのキーフレームいずれとも) stop(); 2.のムービークリップのスクリプト onClipEvent (load) { spd =5; onClipEvent (enterFrame) { this._y = this._y-spd; if (this._y<=-10) { spd = 0; gotoAndPlay(2); } } 知り合いにお見舞いのメッセージをと思って作ったのですが、送ることが出来なくてとてもあせっています。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • スクリプトの記述について

    FlashMXでゲームを作成しています。 MCの、例えば5フレーム目が表示されているときに、メインタイムラインのクローズボタンをクリックするとその5フレーム目の画像が消えるというような スクリプトはどう書けばいいのでしょうか。 クローズボタン(インスタンス名close_btn)に、 on(release){ if(○○○○){ ~のようなものになると思うのですが。 MCはメインタイムラインに配置されていて、ダブルクリックすると MC独自のライムラインになったときの5フレーム目です。 ゲームはいわゆる脱出系で、この部分だけがわからずにいます。 MCのインスタンス名はabout1としています。

    • ベストアンサー
    • Flash

専門家に質問してみよう