ActionScript3.0でボタンをクリックしてオブジェクトを表示する方法

このQ&Aのポイント
  • アクションスクリプト初心者の方に向けて、ActionScript3.0を使用してボタンをクリックすると指定した場所にオブジェクトや文字などを表示する方法について教えてください。
  • また、違うボタンをクリックすると以前に表示されたオブジェクトは消えるようにする方法も知りたいです。
  • なお、外部swfを読み込むことができれば一番良いですが、フレーム数を増やさずに実現する方法があれば教えてください。
回答を見る
  • ベストアンサー

ボタンをクリックすると指定した場所に表示される

adobe flash cs4 ActionScript3.0 の環境で制作中です。 アクションスクリプト初心者です。 質問内容はタイトルの通りです…検索の仕方が悪いのか調べることができず相談させてもらいました。 助言や参考サイトなどを教えていただければと思います。 1)ボタンをクリックすると指定した場所にオブジェクトや文字などを表示したい。 2)違うボタンをクリックすると以前に出ていたものは消える。二重にならない。 やりたいことはこんな感じです。 もし記述が複雑でなければ、外部swfを読み込むことができれば一番いいです。 「gotoAndStop(移動したいフレーム番号)」ではない違う方法を考えています。 できればフレームは増やしたくないので、そういうものがあればと思います… よろしくお願いいたします。

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

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

> 外部swfを読み込むことができれば一番いいです。 というわけですから, ローダー(Loaderインスタンス)を1つだけ用意して, その1つだけのローダーに,ボタンによって違う SWF をロードすれば良いと思います。 ファイル構造が次のようになっているとします。  任意のフォルダ     ├○○.fla (○○.swf を作成)     ├○○.swf     ├a.swf     ├b.swf     └c.swf ○○.fla (○○.swf を作成) のステージ上には, 「btn0」,「btn1」,「btn2」 という インスタンス名 を付けたボタンがあったとします。 その場合, そのボタンが存在するフレーム(フレーム1にボタンがあるのでしたら フレーム1)の任意のレイヤーのキーフレームに次のように書くのが1つの方法例です。 ------------------------------------------ // ローダー「swfLD」を作成 var swfLD:Loader = new Loader(); // ローダーを配置 this.addChild(swfLD); // 場所(座標)を指定 swfLD.x=100; swfLD.y=50; // 各ボタンにイベントリスナーを登録 // 引数(イベント:クリック,実行関数:setURL○) btn0.addEventListener(MouseEvent.CLICK,setURL0); btn1.addEventListener(MouseEvent.CLICK,setURL1); btn2.addEventListener(MouseEvent.CLICK,setURL2); // 関数 setURL○ の定義 function setURL0(evt:Event):void { // 関数 loadSWF を実行 loadSWF("a.swf"); } function setURL1(evt:Event):void { loadSWF("b.swf"); } function setURL2(evt:Event):void { loadSWF("c.swf"); } // 関数 loadSWF を定義 function loadSWF(myURL:String):void { // URLリクエスト myReq を作成 引数(URL) var myReq:URLRequest=new URLRequest(myURL); // ローダー「picLD」にリクエストURLをロード swfLD.load(myReq); } ------------------------------------------

yellow0315
質問者

お礼

お礼が遅くなりました。丁寧にスクリプトまで書いて頂きありがとうございます。 おかげさまで無事作業完了させることができました。 かなり切羽詰まっていたので大変助かりました。質問してよかったです。 ほんとうにありがとうございました!!

関連するQ&A

  • ボタンクリックで本のページをめくるscriptを教えてください

    ボタンクリックで本のページをめくるscriptを教えてください ページ送りボタンで本をめくってるような ページをめくることのできるFlashを作りたいのですが マスクを使用することしか理解できずにいます。 制作方法やサンプルのある場所を教えていただけると助かります。 actionscript3を使用しています。 よろしくお願いします。

  • SWFをボタンにしたい

    FLASH MX2004を使っているActionScript初心者です。 別に作ったSWFファイルをFLASH作成画面に読み込み、 再生はできたのですが、そのSWFファイルをクリックして ボタンの機能を付けたいのですが、エラーになり、 スクリプトを設定できません。 下記のようなスクリプトはSWFには使用できないのでしょうか。 onClipEvent (mouseDown) {     _root.m01._visible = true;     _root.m01.stop(); } それとも、そもそもSWFにスクリプトを設定することはできないのでしょうか。 いろいろと間違っているかも知れませんが、ご教授ください。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • 左右ボタンで方向切替

    FLASH CS3 AS2.0で作っています。 ステージの幅120とします。画像を7枚つなげてインスタンス名をmy_mc。 my_mcの左上を基準として左右ボタンを使い、移動させようとしています。 左右ボタンの配置が次の3種類になるためタイムラインが3フレーム必要になります。 1フレーム → 2フレーム ← → 3フレーム ←    こうした場合、パブリッシュすると連続して再生するため止める必要があり1フレームに stop();を入れます。それでは、アクションスクリプトはそれぞれのボタンに記述しなければなりません。 疑問(1)通常、こんな使い方になるのでしょうか? 1フレームめにアクションスクリプトを記述するのが当たり前と思っているのですがこれは間違いになりますか。 →ボタン(画像は左方向に動く)  7番目の画像が出たら3フレームに進み←ボタンを表示はできました。 on (release) { my_mc._x -=120;//左へ移動 if(my_mc._x<=-720){ //trace(my_mc._x); gotoAndStop(3); } } 次に2から6番目の画像では、←と→が出なければならなく、この方法がわかりません。 7番目から1番にもどるまで← →の表示はできました。 on (release) { my_mc._x +=120;//右へ移動 if(my_mc._x<=0){ //trace(my_mc._x); gotoAndStop(2); } } しかし、1番目は→だけが必要です。 こうなってくると何がなんやらとても混乱しています。疑問(1)回答ととアクションスクリプトの方法 について教えてください。

    • ベストアンサー
    • Flash
  • FLASHで別swfファイルの指定フレーム読み込み

    1.swfのボタンに以下のようなアクションスクリプトを指定してあります。 on(press){ loadMovieNum("2.swf",0); } これでボタンを押すと2.swfが読み込まれます。 ですが、この2.swfの例えば、5フレーム目、などのようにフレームを指定して読み込むことはできないのでしょうか? よろしくお願いします。

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

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

    • ベストアンサー
    • Flash
  • アクションスクリプトでアクセスカウンターを作成したいのですが

    FLASH CS4で、ActionScript2.0を使用しております。フラッシュのSWFファイル上にアクセスカウンターを設置したいのですが、その場合はアクションスクリプトを使用すると思いますが、その方法が解りません。どなたか解る方がいましたら教えてください。よろしくお願い致します。

    • ベストアンサー
    • Flash
  • Flash cs4 ランダム再生

    Flash初心者です。 やりたいことはホームページ上でアニメーションを再生させる際に、複数パターンのアニメーションをページをリロードするたびにランダムに切り替えるということです。 Flashにてアニメーションのタイムラインを複数パターンつくり、ランダム再生をActionScriptで制御するものを作成したいと思います。 アニメーションのタイムラインを作成しムービーシンボルとしたものを複数作成し、それをシーン1のタイムラインにて各フレームに配置して、1フレーム目にActionScriptにてgotoAndStop(ランダムフレームの記述?);とすればいいのかなと思っているのですが、正しいでしょうか? 現状ではアニメーションのムービーシンボルは必要なパターンだけ作成しました。 シーン1のタイムラインに配置まではしたのですが、ActionScriptの記述が素人なものでさっぱりわかりません。 どなたか教えていただけませんか? 自分なりにやってみたのですが、ランダム関数(?)以前にgotoAndStop()すら思うようにいきませんでした。 Flashはcs4を使用しております。ActionScript3.0のプロジェクトにして添付画像のように1フレーム目に gotoAndStop(10); としてみたのですが、パブリッシュしたswf ファイルは真っ白のまま何も動いてくれません。 gotoAndstop(10); としてみたらstopせずにタイムラインを再生しているようで、各アニメーションの最初のフレームだけが切り替わるものになってしまいました。 ともにコンパイルエラー 1180:未定義である可能性が高いメソッドgotoAndstopの呼び出しです といわれます。 ActionScriptが2.0と3.0とどちらがいいのかもわかってない状態ですが、ご教授願います。

    • ベストアンサー
    • Flash
  • Flashでグローバルナビゲーションを製作

    フレームなしwebにFlashでgNaviを製作し、運用したいと考えています。 「コンテンツA」「コンテンツB」「コンテンツC」がある場合「コンテンツB」を見ているときは常にgNaviFlashの「コンテンツB」は色反転状態にしたいのですが、現状では「コンテンツB」をクリックし、移動してもFlashはデフォルト状態で、マウスオーバーしたときしか色反転しません。URLが変わるのでFlashがデフォルトに戻ってしまいます。 フレーム切りなら話は早いのですが・・・。 現在、計3つのFlashを作成し ・www.aaa/contentA にはgNaviA.swf(「コンテンツA」が色反転) ・www.aaa/contentB にはgNaviB.swf(「コンテンツB」が色反転) ・www.aaa/contentC にはgNaviC.swf(「コンテンツC」が色反転) という方法で色反転を表現しています。 それぞれのswf内のボタンのアクションスクリプトは以下の通りです。 on (release) { this.getURL("www.aaa/content○"); } ○の中はA~Cの数字が入ります。 これではURLやコンテンツが増えた際に3つのFlashで同じ事をやらなくてはならず非常に面倒です。 調べてみると、ボタンのクリックアクションはあったのですが。 on (release) { this.gotoAndStop("gNaviA"); } この「on (release)」というところをURL判断で「this.gotoAndStop」が効くアクションスクリプトを教えて下さい。(結果URL判断でフレームスキップできればもう何でもかまいません・・・) よろしくお願いいたします。

  • 複数のボタンをクリックしてFLVを切り替え

    複数のボタンをクリックしてFLVを切り替え Flash初心者です。 環境はWin XP、Flash CS3、as3、flash player9です。 複数のボタンをクリックすることによって、 表示するFLVを切り替えたいのですがやり方が分からず困っております。。 swf内の左側、縦にボタンを4つ配置し、それぞれをクリックすることにより右側のFLVが切り替わり、 再生ボタンをクリックして再生開始。という流れにしたいと思います。 自動再生はさせないです。 お分かりになる方教えていただきたいです。。 何卒よろしくお願いします。

  • Flash フレームを移動しても音が残ってしまう

    Flash フレームを移動しても音が残ってしまう 初心者です。フレーム間の移動について質問させて下さい。 1フレーム目にメニューボタンを配置し、ボタン1クリック(gotoAndStop(5))で、動画再生のSWFを配置した5フレーム目へ飛ばしています。 1フレームのボタン2クリック(gotoAndStop(4))で、画像を配置した4フレーム目へ飛ぶようにしています。 ボタン1で5フレームで動画を再生、その最中にボタン2をクリックするとステージ上は4フレーム目になりますが、再生中の動画の音声が消えません。 どういう処理が必要なのか具体的に教えていただけませんでしょうか。 AS3.0になります。