• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フラッシュについてcs3とcs4から)

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

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

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

  • ベストアンサー
  • 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