• 締切済み

FLASH での基本的なアクションについて教えてください

ご教授お願いします。 Flash CS3を使用しております。 1フレーム目で停止し、そこで表示されているボタン(b1というインスタンス名)をクリックすると2フレーム以降が再生されるファイルを 作成しようとしていますが、うまくアクションさせることができません。ボタンはちゃんと機能していると思います。 現在、私が1フレーム目に入力しているアクションは下記のとおりです。 this.stop() function gotoAndPlay(2); b1.addEventListener(MouseEvent.CLICK,gotoAndPlay); どのあたりが不適切なのでしょうか? 以前にFlash5を使用したことがあり、その際はボタンへのアクションも選択するだけで簡単にできたのですが、CS3はやはり高機能だけにやや難解です。 詳しい方には、あまりに基本的な質問かもしれませんが 格闘すること数時間、先に進まず困っております。 どなたかご教授いただけますと、大変ありがたいのですが・・・。

みんなの回答

noname#92804
noname#92804
回答No.3

this.stop(); b1.addEventListener(MouseEvent.CLICK, xClick); function xClick(evt:MouseEvent):void { gotoAndPlay(2); } これで動きます。

kmr0823
質問者

お礼

本当にありがとうございます。 希望通りに動かすことができました。 連日、本を調べたり、ネットを調べたりして悩んでいたのが嘘のようです。 本当に助かりました。 心より感謝しています。 これからは、もう少ししっかり勉強したいと思います。

  • ulmo
  • ベストアンサー率43% (197/454)
回答No.2

すいません、playmovie()に引数が必要でした。 function playmovie(event:Event):void { gotoAndPlay(2); } やっぱり試してませんが(笑)。 ここまで出したので、後はご自身でどうぞ。

kmr0823
質問者

お礼

連日のアドバイス、ありがとうございます。 参考にいくつか試してみたのですが なかなかうまくいかず this.stop(); b1.addEventListener(MouseEvent.CLICK, xClick); function xClick(evt:MouseEvent):void { gotoAndPlay(2); } で希望通りに動かすことができました。 ありがとうございました。

  • ulmo
  • ベストアンサー率43% (197/454)
回答No.1

gotoAndPlay()は組み込み関数です。 すでにある関数を再定義してしまってます。 この場合、 function playmovie() { gotoAndPlay(2); } b1.addEventListener(MouseEvent.CLICK, playmovie); と、関数を一枚被せなくてはなりません。 動くかどうか試してませんけど…。

kmr0823
質問者

お礼

ご教授ありがとうございます。 早速1フレーム目に下記のとおりのアクションを入力し 試してみたのですが、そこでムービーは停止するもののボタンを押してもムービーが再開されませんでした。 ちなみにパブリッシュプレビューのFLASHを再生したときには 次のようなエラーメッセージが出ます。 「ArgumentError: Error #1063: 14_fla::MainTimeline/playmovie() の引数の数が一致していません。0 が必要ですが、1 が指定されました。」 《1フレーム目に入力したアクション》 this.stop() function playmovie() { gotoAndPlay(2); } b1.addEventListener(MouseEvent.CLICK, playmovie); さらに改善すべき点があるのでしょうか? 何か参考になることをご存知でしたら教えていただきたいのですが・・・。

関連するQ&A

  • アクションスクリプト

    > /* クリックして特定のフレームに移動し、再生 特定のシンボルインスタンス上でクリックすると、再生ヘッドがタイムラインの指定フレームに移動し、そのフレームから再生が継続されます。 メインタイムラインまたはムービークリップタイムライン上で使用できます。 手順 : 1. 以下のコード内の数値 5 を、シンボルインスタンスのクリック時に再生ヘッドが移動するフレームの番号に置き換えます。 */ button_1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame); function fl_ClickToGoToAndPlayFromFrame(event:MouseEvent):void { gotoAndPlay(2); } AS3CS5で上記のコードでボタンを押すたびに動くアニメーションを作成しています。上記ではフレーム2に移動になっていますが、例えば2、22、44に移動して欲しい場合どのように記述すれば良いですか??gotoAndPlay(2 22 44)等で試していますが上手くいきません

    • ベストアンサー
    • Flash
  • ボタンについて(CS4,AS3)

    HPのメニュー用に、クリックするとフレーム移動するボタンを作っています。 フレーム1以外のフレームには、フレーム1に設置してあるボタンで指定したフレームとは異なるフレームに 移動させたいので、新たにフレーム1のボタンとは別のボタンを設置しています。 プレビューでフレーム1のボタンをクリックすると正常に動くのですが、 フレームが移動した後に再度ボタンをクリックすると動かず、全てのボタンが反応しません。 ■フレーム1に設置してあるボタン test_a1.addEventListener(MouseEvent.CLICK , testA1); test_b1.addEventListener(MouseEvent.CLICK , testB1); test_c1.addEventListener(MouseEvent.CLICK , testC1); function testA1(event : MouseEvent) :void{ gotoAndPlay(1); } function testB1(event : MouseEvent) :void{ gotoAndPlay(51); } function testC1(event : MouseEvent) :void{ gotoAndPlay(101); } ※フレーム1、51、101にはstop();で停止するようにしています。 ■フレーム51に設置してあるボタン test_a2.addEventListener(MouseEvent.CLICK , testA2); test_b2.addEventListener(MouseEvent.CLICK , testB2); test_c2.addEventListener(MouseEvent.CLICK , testC2); function testA2(event : MouseEvent) :void{ gotoAndPlay(11); } function testB2(event : MouseEvent) :void{ gotoAndPlay(61); } function testC2(event : MouseEvent) :void{ gotoAndPlay(111); } コンパイルエラーは出ていません。 ネットで調べても何故、フレーム1以外のボタンが動かないのか分かりません。 どなた様か教えていただけると助かります。 使用しているソフトはAdobe Flash CS4で、スクリプトはActionScript3.0です。 よろしくお願いします。

  • AS3のボタンアクションについて

    FlashCS3 ActionScript3.0 ボタンアクションでつまづいています。 http://www.cucinadicasamia.fr/ 上記サイトのように、ボタンをクリックすれば、ダウンの状態を保持、 他のボタンをクリックでダウンの状態を解除。 のようにしたいのですが、上手くいきません。 下記のようにコードを書いたのですが。。。 A_mc.addEventListener(MouseEvent.CLICK,Click); A_mc.addEventListener(MouseEvent.ROLL_OVER,Over); A_mc.addEventListener(MouseEvent.ROLL_OUT,Out); B_mc.addEventListener(MouseEvent.CLICK,Click); B_mc.addEventListener(MouseEvent.ROLL_OVER,Over); B_mc.addEventListener(MouseEvent.ROLL_OUT,Out); function Over(event:MouseEvent):void{ event.target.gotoAndPlay("B"); } function Out(event:MouseEvent):void{ event.target.gotoAndPlay("A"); } function Click(event:MouseEvent):void{ trace("click"); event.target.gotoAndPlay("C"); } A_mc.buttonMode = true; B_mc.buttonMode = true; /////////////////////////////////////////////////////////////////////// function Clickとfunction Overが同時に発生しているので上手くいかないのでしょうか。。。 ご教授お願いいたします。

  • Flash MCのモーショントウィーン

    Flash CS5 ActionScript 3.0にて制作しています。 ムービークリップに動きをつけて色を変更するスクリプトを書いています。 ・ボタン1を押すとムービークリップの色が変わる ・ボタン2を押すと10フレーム目に飛んでモーショントウィーン それぞれ機能は正常に動くのですが、ボタン1を押した後にボタン2を押すとモーショントウィーンが動きません。 ボタン2を押した後にボタン1を押す場合は動きます。 ムービークリップのインスタンス名はtest として下記のようなスクリプトを書いています。 どなたか、お力をお貸し下さい。 よろしくお願い致します。 btn.addEventListener(MouseEvent.CLICK, black); black(event:MouseEvent):void { var color = new flash.geom.ColorTransform(0, 0, 0, 1); test.transform.colorTransform = color; } btn2.addEventListener(MouseEvent.CLICK, btn2); function btn2(event:MouseEvent):void{ gotoAndPlay("10"); }

    • ベストアンサー
    • Flash
  • ボタンとASが1フレーム目にないとエラーになるのは仕様ですか?

    CS4、AS3.0で作成しております。 クリックすると指定したシーンへ移動するスクリプトを作成しました。 ボタンが複数あるので、各ボタンにインスタンス名を入れてます。 //各ボタンが押されるのを監視 this.menu_btn.addEventListener(MouseEvent.CLICK,menu); this.shop_btn.addEventListener(MouseEvent.CLICK,shop); this.access_btn.addEventListener(MouseEvent.CLICK,access); //クリックされたとき、指定フレームまで移動 function menu(e:MouseEvent):void { this.gotoAndPlay(69); } function shop(e:MouseEvent):void { this.gotoAndPlay(75); } function access(e:MouseEvent):void { this.gotoAndPlay(78); } で、ボタンとASを1フレーム目に入れれば作動するのですが、両方とも2フレーム以降に持ってくるとエラーが出て作動しません。 「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」と出ます。 ボタンの数を1つにしても同様でした。 プログレスバーを作るのに、2フレーム目に持ってきたいのですが、これはCS4の仕様かバグなのでしょうか? 回避する方法はありますでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Flash
  • FLASH8でActionscriptが動きません

    FLASH8のActionscriptを使って簡単なイベント処理を実行したいのですが、うまくいかず困っています。 conts1_btnというインスタンス名を付けたボタンをクリックしたら、Contents1というラベルを付けたフレームに飛ぶという処理です。 以下、そのコードです。 function go_conts1(btn1event) { this.gotoAndPlay("Contents1"); } conts1_btn.addEventListener(MouseEvent.CLICK,go_conts1); FLASH CS3の参考書を見て、記述したのですが8とCS3では記述方法に違いなどあるのでしょうか?宜しくお願いします。

  • actionscript3.0で親階層にあるインスタンスの中のものを操

    actionscript3.0で親階層にあるインスタンスの中のものを操作したいのですが、うまくいきません。 具体的には、ボタンをクリックすると、ひとつ上の階層にある「aa_mc」の100フレームへgotoAndPlayするとしたいのですが、 スクリプトは以下の通りです。 //////////////////////////////////////////////////////// btn_mc.addEventListener(MouseEvent.CLICK, onClick); function onClick (eventObject:MouseEvent) :void { MovieClip(parent).aa_mc.gotoAndPlay(100); } //////////////////////////////////////////////////////// どなたかご教授お願いいたします。

  • ボタンをクリックして画面遷移させる方法について

    flash初心者です。 cs4でAS3.0を使っています。 ボタンをクリックするとgotoAndPlayでラベルの指定してあるフレームに飛ぶように設定したいのですが、クリックしても全く反応してくれません。 ボタンは「next」と「top」の2つを画像(ボタンシンボル)で作成しています。 アニメーション後にこの2つのボタンが出て、それぞれをクリックすると別のアニメーションに飛ぶという流れを考えています。 記述したAS3.0は下記です。 --------------------------- stop(); var topBtn01:SimpleButton = new SimpleButton(); var nextBtn01:SimpleButton = new SimpleButton(); topBtn01.addEventListener(MouseEvent.CLICK,top01Click); nextBtn01.addEventListener(MouseEvent.CLICK,next01Click); function top01Click(event:MouseEvent):void{ gotoAndPlay("top01"); } function next01Click(event:MouseEvent):void{ gotoAndPlay("next01"); } ----------------------------------- それぞれのボタンにインスタンス名を「topBtn01」「nextBtn01」とつけています。 ちなみに、エラーは何も出ていません。 ただ、変数を定義しているはじめの2~3行目を抜くと下記のエラーが出ていました。 --------------------------- TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at top_main_fla::MainTimeline/frame251() --------------------------- どうしたら良いか、どなたか教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • フラッシュについてcs3とcs4から

    今フラッシュについて勉強しているのですが、CS4のアクションスクリプトをCS3で動かそうとして、1046型が見つからないというエラーが出ました。もしよろしければ直し方を教えていただけませんか。 プログラムは stop(); btn01,addEventListener(MouseEvent.CLICK,jump_10); function jump_10(event:MotionEvent):void { gotoAndStop("10"); }; btn02,addEventListener(MouseEvent.CLICK,jump_20); function jump_20(event:MotionEvent):void { gotoAndStop("20"); }; btn03,addEventListener(MouseEvent.CLICK,jump_30); function jump_30(event:MouseEvent):void { gotoAndStop("30"); }; です。足りないものがありましたらご指摘ください。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • AS3のコードをシンプルに

    AS3のコードについてご教授お願いします。 下記のようなコードがあるとします。 btnA_mc.addEventListener(MouseEvent.CLICK,aClick); btnB_mc.addEventListener(MouseEvent.CLICK,bClick); btnC_mc.addEventListener(MouseEvent.CLICK,cClick); function aClick(e:MouseEvent):void { this.gotoAndPlay("A"); // trace("Aclick"); btnB_mc.addEventListener(MouseEvent.CLICK,bClick); btnC_mc.addEventListener(MouseEvent.CLICK,cClick); btnA_mc.removeEventListener(MouseEvent.CLICK,aClick); } function bClick(e:MouseEvent):void { this.gotoAndPlay("B"); // trace("Bclick"); btnA_mc.addEventListener(MouseEvent.CLICK,aClick); btnC_mc.addEventListener(MouseEvent.CLICK,cClick); btnB_mc.removeEventListener(MouseEvent.CLICK,bClick); } function cClick(e:MouseEvent):void { this.gotoAndPlay("C"); // trace("Cclick"); btnA_mc.addEventListener(MouseEvent.CLICK,aClick); btnB_mc.addEventListener(MouseEvent.CLICK,bClick); btnC_mc.removeEventListener(MouseEvent.CLICK,cClick); } btnA_mc.buttonMode = true; btnB_mc.buttonMode = true; btnC_mc.buttonMode = true; この中の、 btnA_mc.addEventListener(MouseEvent.CLICK,aClick); btnB_mc.addEventListener(MouseEvent.CLICK,bClick); btnC_mc.removeEventListener(MouseEvent.CLICK,cClick); のような、重複する部分を、配列か何かでまとめたいのですが、いまいち方法が分かりません。 ボタンAをクリックで、ボタンAは効かなくなる。ボタンBorCをクリックでボタンAが復活みたいな感じです。 宜しくお願いします。 flashCS3 ASはver3.0でお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう