電子書籍の厳選無料作品が豊富!

Windows版FlashCS5、ActionScript3.0、パブリッシュ設定のPlayer(P)は、AIR Androidを
使用しております。
どうぞ、よろしくお願いいたします。

スクリプトを組み、パブリッシュしようとすると、下記のようなエラーが出ることがあります。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at myFla_fla::Timeline_15/frame3()[myFla_fla.Timeline_15::frame3:11]

Timeline_15が、どのムービークリップか調べるのに時間がかかり、困っております。

私は現状では、
trace(ムービークリップのインスタンス名);
と記述して、出力ウィンドウに表示される結果を見ながら、
片っ端からムービークリップを調べて、該当するTimeline_n(今回はTimeline_15)を探しています。

もっと効率の良い探し方は、ありませんでしょうか?

※無い場合は、"無い"と教えていただけますと、助かります。

どうぞ、よろしくお願いいたします。

A 回答 (1件)

デバッガを使うと、タイムラインだけでなく、エラーが発生したレイヤーやフレーム・行も特定できます。




例えば、ムービークリップシンボル「シンボル 2 」に、名前を”スクリプト”と付けたレイヤーを作り、そのフレーム 10 に、次のようなスクリプトを書いたとします。

 var mc:MovieClip = null;
 mc.stop();

↑ mc にはあえて null を入れていますから、当然、このフレームが再生された途端にエラー番号 1009 「 null のオブジェクト参照の~」が発生します。


このシンボルのインスタンスを配置した作品を、デバッガを通して動作確認します。
ムービー編集画面の「デバッグ」メニュー→「ムービーのデバッグ」で、デバッガが起動します。
( CS5 では、メニューの配置や名称が変わっているかもしれません。デバッガの起動方法や詳しい使い方については、ヘルプ等をご参考になさってください)

問題がなければ、ムービーが再生されます。
しかし、スクリプトにエラーがあるとその箇所で再生が停止し、デバッグウィンドウが開いて、エラー発生時に再生していたシーンとシンボル名・レイヤー・フレームが表示されます。
反転表示になっているシンボルが、エラーが検出された箇所です。


先ほどの問題含みの作例をデバッガで見ると、

 シンボル名:シンボル 2  レイヤー名:スクリプト  フレーム:10

に問題があるらしいという情報が、デバッグウィンドウから得られます。
(表示例として画像を添付しましたので、よろしければご参照ください。青く反転しているシンボルが、エラーが検出されたシンボルです)

さらに、エラーメッセージの最後

  [○○○_fla.Timeline_○::frame10:2]

の” frame10:2 ”の部分は、フレーム 10 に書かれているスクリプトの2行目、という意味です。

合わせますと、「シンボル2の”スクリプト”レイヤー、フレーム 10 に書かれているスクリプトの2行目」でエラーが発生した、と分かります。
つまり、シンボル 2 のフレーム 10 に書いた

 var mc:MovieClip = null;
 mc.stop();

↑ この2行目の mc.stop(); 、特に mc のあたりが怪しいと、エラーの原因を突き止めていくことができます。
「Timeline_nの調べ方について(A」の回答画像1
    • good
    • 0
この回答へのお礼

ご教示ありがとうございます!

恥ずかしながら、今までデバッガを使った事がありませんでした(存在も知りませんでした)。

これを使えば、Timeline_nを調べなくても済みます。
大変助かります^^

とても丁寧なご説明に、感激しました。

ありがとうございます!

お礼日時:2011/10/27 16:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!