CS3とCS4でのフラッシュについてのエラー

このQ&Aのポイント
  • CS3でCS4のアクションスクリプトを動かす際に1046型が見つからないエラーが出る
  • プログラムにはstop()、btn01〜btn03のイベントリスナー、jump_10〜jump_30関数が含まれる
  • 質問者はエラーの直し方を教えてほしいと頼んでいる
回答を見る
  • ベストアンサー

フラッシュについて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
  • 回答数1
  • ありがとう数1

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

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

ツッコミどころ満載ですね。。。 CS3,CS4 の問題ではないと思います。 書かれていらっしゃるスクリプトでは CS4 でもエラーは出ますし無事に動作しないと思います。 無事に動作するしないは置いておいて まずエラーに関してですが これはイベントの型が違っているからだと思います。 function jump_10(event:MotionEvent):void   ↓変更↓ function jump_10(event:MouseEvent):void function jump_20(event:MotionEvent):void   ↓変更↓ function jump_20(event:MouseEvent):void さて以上でエラーは出なくなるとは思いますが これでも無事に動作しないと思います。 ボタンなどのインスタンスにイベントリスナーを登録する場合や 何かのインスタンスに対してそのプロパティを設定したり 何かのインスタンスにメソッドを実行させるためには 「.」(ドット) を使います。 「,」(カンマ) ではありません。 btn01,addEventListener(MouseEvent.CLICK,jump_10);   ↓変更↓ btn01.addEventListener(MouseEvent.CLICK,jump_10); btn02,addEventListener(MouseEvent.CLICK,jump_20);   ↓変更↓ btn02.addEventListener(MouseEvent.CLICK,jump_20); btn03,addEventListener(MouseEvent.CLICK,jump_30);   ↓変更↓ btn03.addEventListener(MouseEvent.CLICK,jump_30); さらに gotoAndStop(○○) についてですが, ○○ の部分に数値を入れると その番号のフレームに行って停止します。 ---例--- //フレーム30に行って停止 gotoAndStop(30); ○○ の部分に文字列を入れると そのフレームラベル名の付いたフレームに行って停止します。 ---例--- //ラベル名 content1 のフレームに行って停止 gotoAndStop("content1"); ご質問のスクリプトの場合はこの引数部分が 「"」(ダブルクォーテーション)でくくられていますから文字列です。 つまり gotoAndStop("フレームラベル名") という意味になります。 しかし フレームラベル名 に "10" や "20" や "30" などというような 数値そのものを文字列にしたものは使えません。 このフレームラベル指定の「"」は取るべきたと思います。 つまり CS3 ,CS4 の問題ではなく 書かれていらっしゃるスクリプト全般がそもそもおかしいということになります。 全文書き換え↓ stop(); btn01.addEventListener(MouseEvent.CLICK,jump_10); function jump_10(event:MouseEvent):void { gotoAndStop(10); } btn02.addEventListener(MouseEvent.CLICK,jump_20); function jump_20(event:MouseEvent):void { gotoAndStop(20); } btn03.addEventListener(MouseEvent.CLICK,jump_30); function jump_30(event:MouseEvent):void { gotoAndStop(30); }

daiitizikeikai
質問者

お礼

BlurFiltanさん: 回答ありがとうございます。 大変わかりやすく回答されており、勉強させていただきました。 解答に書かれていた通りに修正したところ正常に動作させることができました。 自分の技量不足が原因だったということがわかり、もっと勉強しなければと思い知らされました。 本日は大変お忙しい中、詳しい回答をいただくことができまことにありがとうござす。

関連するQ&A

  • FLASH/一定時間停止後、再生されるscript

    flash CS4/ActionScript3.0にてサイトローテーションバナーを制作しております。 ムービークリップ「btn1_mc」をクリックするとフラッグ「scene1」を再生し、 「btn1_mc」にポインタが乗った時は一定時間停止し、再生されるという動きを作りたいのですが、初心者のため、うまくActionScriptが書けません。 setTimeout関数を使えば良いということはわかったのですが… 下記コードに書き加え、実装する方法を教えていただければ助かります。 よろしくお願いします。 btn1_mc.addEventListener(MouseEvent.CLICK,btn1Click); btn1_mc.addEventListener(MouseEvent.ROLL_OVER,btn1Over); btn1_mc.addEventListener(MouseEvent.ROLL_OUT,btn1Out); btn1_mc.buttonMode=true; function btn1Click(evt:MouseEvent):void{ gotoAndPlay("scene1"); } function btn1Over(evt:MouseEvent):void{ gotoAndStop("scene1"); btn1_mc.gotoAndStop(2); } function btn1Out(evt:MouseEvent):void{ gotoAndPlay("60"); btn1_mc.gotoAndStop(1); }

  • 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
  • Flash ボタンを押すとフォントカラーを変更する

    Flash CS5を使用しています。 action script3.0にてボタンを押すとフォントのカラーを変更できるようにしたいと思っています。 テキストのインスタンス名 text0 にして下記のようなスクリプトを書いたのですが 色が変更されません。 どのようにしたらよいか分かる方、お力を貸していただけないでしょうか? red_btn.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler); function fl_MouseClickHandler(event:MouseEvent):void { var color_mtx = new flash.geom.ColorTransform(0.9, 0, 0, 1, 0, 0, 0, 0); text0.transform.colorTransform = color_mtx; }

    • ベストアンサー
    • 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です。 よろしくお願いします。

  • どのようにするとループができるのですか?

    今Flash、ActionScriptを勉強しています。 今、美容室のgardenというページを作れるようになろうと思っているのですが、どうしてもDesignerのページのActionScriptがまずいのか、nextを押し続けて一巡するとnextボタンがうまく作用しません。 これは何がいけないのでしょうか? ちなみに今書いているスクリプトはこんな感じです。 //nextを押したら8までジャンプ next.addEventListener(MouseEvent.CLICK,action); function action(event:MouseEvent):void { gotoAndStop(8); } よろしくお願いします。 http://www.garden-hair.jp/ginza/index.html

  • Action Script3.0で曲の再生と停止

    play_btnとstop_btnの二つのボタンを作り、 それぞれ再生と停止ができるようにしました。 再生繰り返し回数は1回です。 そこで、play_btnをクリックし再生します。 再生が終わってから、再びplay_btnをクリックしても再生しません。 play_btnをクリックし再生してから、 stop_btnをクリックし停止させ、 再度play_btnをクリックすると再生します。 連続してplay_btnをクリックしたときには、 再生中の場合は再生を停止し新たに再生させるようにしないといけないんだろうなとおもうのですが、、。 どうスクリプトを記述すれば良いかよく分からないので、 どなたか教えていただければ幸いです。 var soundCh:SoundChannel; var snd:Sound = new BGM(); play_btn.addEventListener(MouseEvent.CLICK, PlayClick); stop_btn.addEventListener(MouseEvent.CLICK, StopClick); //イベントハンドラ定義 function PlayClick(evt:MouseEvent):void { if (soundCh == null){ soundCh = snd.play(0,1); } } function StopClick(evt:MouseEvent):void { if (soundCh != null){ soundCh.stop(); soundCh = null; } }

    • ベストアンサー
    • Flash
  • ActionScript3.0の修正に関して

    下記スクリプトは、A_btnをマウスオーバーすると、mcを表示し、 A_btnをマウスアウトすると、mcを非表示にするというスクリプトです。 これのマウスオーバー、マウスアウトを クリックしたら表示し、もう一度クリックしたら非表示にするというものに 変更したいのですが、 単にMouseEvent.CLICKにすると動作しなかったので どなたか教えていただけないでしょうか? よろしくお願いします。 ---------------------- 環境 action script3.0 Mac OSX Flash CS4 ---------------------- var mc:Fukidashi = new Fukidashi(); A_btn.addEventListener(MouseEvent.MOUSE_OVER,xMouseOver); function xMouseOver(evt){ mc.alpha = 0; addChild(mc); mc.x = 0; mc.y = 0; mc.addEventListener(Event.ENTER_FRAME,imgAlpha); function imgAlpha(event:Event){ mc.alpha += 0.05; if (mc.alpha > 1){ mc.removeEventListener(Event.ENTER_FRAME,imgAlpha); } } } A_btn.addEventListener(MouseEvent.MOUSE_OUT,xMouseOut); function xMouseOut(evt){ removeChild(mc); mc.alpha = 0; }

    • ベストアンサー
    • Flash
  • クラスまたはインタフェイス'MouseEvent'をロードできませんでした。

    「クラスまたはインタフェイス\'MouseEvent\'をロードできませんでした。」 というエラーの解決方法を教えてください。 yes_btn_mcというムービークリップをクリックすると70フレーム目にとばしたいのです。 yes_btn_mc.addEventListener(MouseEvent.CLICK, yesClick); yes_btn_mc.buttonMode=true; function yesClick(evt:MouseEvent):void{ gotoAndstop(70); } 上記のようにアクションパネルに記述しましたが、 「クラスまたはインタフェイス\'MouseEvent\'をロードできませんでした。」 と出て動きませんでした。 どうすれば動くようになるかわかる方、教えてください。

  • ムービーのコントロールについて教えてください。

    ムービーのコントロールについて教えてください。 私は、フラッシュCS5を使用し、アクションスクリプト3.0で記述しています。 ムービーコントロールについて教えていただきたくてこちらに書き込みをさせていただきました。具体的には、ステージにムービー(インスタンス名:FLV_Play01)を読込み、そのムービーの上に再生ボタン(インスタンス名:Btn_1)を設置しました。添付画像をご覧ください。 ステージのタイムラインの1フレームに下記のようにスクリプトを記述しました。 import flash.events.MouseEvent; Btn_1.addEventListener(MouseEvent.CLICK, fl_ClickToPlayVideo); function fl_ClickToPlayVideo(event:MouseEvent):void { FLV_Play01.play(); } function removeMC(ev:MouseEvent):void{ removeChild(Btn_1); } Btn_1.addEventListener(MouseEvent.CLICK,removeMC); この記述ですと、ムービーの再生ボタン(インスタンス名:Btn_1)をクリックするとムービー(インスタンス名:FLV_Play01)がスタートして再生されます。再生と同時に再生ボタンが消去され、ムービーだけの表示となります。ただ、このスクリプトですと、ムービーが終了した後には再生ボタンが再表示されない為に繰り返し見る事が出来ないのです。 そこでですが、ムービーの再生終了後に再び再生ボタンを表示させるようにしたいのです(ユーチューブのようなイメージです)。そのためのスクリプトを記述したいのです。どなたか解る方がいましたらスクリプトの記述内容を教えてください。よろしくお願い致します。

    • ベストアンサー
    • Flash
  • フラッシュのマウスイベント

    フラッシュのマウスイベントがうまくいかないので教えてください。 ボタンはい列(5個)をしてそれぞれにインスタンスを付けました。 ロールオーバーで背景画像の入れ替えクリックで特定のURLへ飛びたいのですが 飛ぶことはできてもロールオーバーの記述がうまくいきません どう書けばいいのか教えてください 素人で説明見ながらなのでイフ とかエルスの使い方もよくわかりません。 ちなみに下記はクリックしたら出てきた記述で思い通りに動いています。 できたら出てくる画像がフェードインにしたいです 同じタイムラインに画像を配置してそれぞれMC-1とか名前も付けましたが 記述を探しても全くわかりません よろしくお願いします URL1.addEventListener(MouseEvent.CLICK,fl_ClickToGoToWebPage_5); function fl_ClickToGoToWebPage_5(event:MouseEvent):void { navigateToURL(new URLRequest("http://www.○○"), "_blank"); } /* クリックして Web ページに移動 */ URL2.addEventListener(MouseEvent.CLICK,fl_ClickToGoToWebPage_6); function fl_ClickToGoToWebPage_6(event:MouseEvent):void { navigateToURL(new URLRequest("http://www.○○"), "_blank"); } /* クリックして Web ページに移動 */ URL3.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage_7); function fl_ClickToGoToWebPage_7(event:MouseEvent):void { navigateToURL(new URLRequest("http://www.○○"), "_blank"); } /* クリックして Web ページに移動 */ URL4.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage_8); function fl_ClickToGoToWebPage_8(event:MouseEvent):void { navigateToURL(new URLRequest("http://www.○○"), "_blank"); } /* クリックして Web ページに移動 */ URL5.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage_9); function fl_ClickToGoToWebPage_9(event:MouseEvent):void { navigateToURL(new URLRequest("http://www.○○"), "_blank"); }

専門家に質問してみよう