メイン コーダーズルーム【スクリプト系】
MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| えり | Åê¹ÆNo.44511 投稿日時: 2010-3-9 18:29 |
新米 ![]() ![]() 居住地: 投稿: 23
使用環境:
win,mac Flash CS4 |
MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 プリローダーを作りたくて、
ルートの1フレーム目にローディングチェック用のmc、loader_mcを置き、 そのloader_mcの中のタイムライン1フレーム目に、 以下のようなローディング用のスクリプトを記述しますと、 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。というエラーが出てしまいます。。。 《以下がエラーの出るスクリプトになります》 ------------------------------------------------------- // LoaderInfoクラスのオブジェクトを作り、loaderInfoプロパティ(読み込み状況に関しての情報)を取得。 var info:LoaderInfo=root.loaderInfo; //リスナー登録 root.addEventListener(Event.ENTER_FRAME, loadCheck); function loadCheck(evt) { t_load.text=String(info.bytesLoaded);// 読込んだバイト数をt_loadのtextプロパティに。 t_total.text=String(info.bytesTotal);// コンテンツ全体のバイト数をt_total.textのtextプロパティに。 var percent=Math.floor(info.bytesLoaded/info.bytesTotal*100);// パーセントに変換 t_percent.text=percent;// パーセントをt_percentのtextプロパティに。 meter.scaleX=info.bytesLoaded/info.bytesTotal; // パーセントをmeterの横幅の拡大率scaleXに代入。(= meter.width = percent; でも可) if (info.bytesLoaded==info.bytesTotal) {//ダウンロードが終了したら。 MovieClip(root).gotoAndPlay("contents"); /*rootをMovieClip()で囲わないと未定義の・・・というエラーが出ることがある。 出てしまったら、MovieClip(root)と、rootをキャスト*/ root.removeEventListener(Event.ENTER_FRAME, loadCheck);//リスナー削除 } } ------------------------------------------------------- これは、後ろから6行目の、MovieClip(root)と、ここの MovieClipのキャストをやめるとこの#1009エラーが消えますが、 今度は回避したかったもともとの”#1016 未定義の・・・というエラーが出てしまいます。 ちなみにこの#1009のエラーはFlashPlayer9で書き出せばでませんが、FlashPlayer10で書き出しすると出てしまいます。 コンテンツ自体は問題なく動いているのですが。。。。 何かスクリプトの書き方の順番がまずいのでしょうか。 すみません!お教えください。 環境:WinXP CS4 AS3です。 |
| 野中文雄 | Åê¹ÆNo.44516 投稿日時: 2010-3-9 22:52 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 エラーメッセージは、ときおり訳のわからない表現もあるものの、やはり重要な情報です。省かず正確にお書きください。おそらく「#1016」ではなく、コンパイルエラー「1061: 未定義である可能性のあるメソッドgotoAndPlayを、静的型flash.display:DisplayObject の参照を使用して呼び出しました」ではないかと推測します。
ランタイムエラー1009は、つぎのように説明されています。つまり、キャスト云々の前に、そもそもオブジェクトが参照されていないという意味です。 引用: 評価結果がnullになるオブジェクトは、プロパティを持つことができません。 引用: riedynaさんは書きました: |
| えり | Åê¹ÆNo.44527 投稿日時: 2010-3-10 13:17 |
新米 ![]() ![]() 居住地: 投稿: 23
使用環境:
win,mac Flash CS4 |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 お忙しいさ中アドバイス頂きうれしい限りでございます*
本当に恐縮です。。。もう少しお教えください。。 >つまり、キャスト云々の前に、そもそもオブジェクトが参照されていないという意味です。 オブジェクト=root ということでrootが参照出来ていないということでしょうか。。 trace(root);を試させていただきますと、ちゃんと [object MainTimeline]と返ってくるのですが、 これはrootがきちんと参照されていないことになってしまうのでしょうか。 だとしましたら、MovieClip(root)こちらの部分はどのように記述いたすのが正しい選択なのでしょうか。。 いろいろ#1009、#1061のエラーの原因につきましても調べてみたのですが根本が不理解のため自己解決できませんでした。。 やはりMCをポン!とおいてrootの読み込みを調べる方法は あまりAS3においてはスマートではないので他の方法のローダーの方がよいのでしょうか。。 ちなみにこちらを参考に勉強させていただきました* http://fumiononaka.com/TechNotes/Flash/FN0707001.html 恐れ入りますが あと少しだけアドバイス頂けませんでしょうか。。 すみません!! |
| 野中文雄 | Åê¹ÆNo.44528 投稿日時: 2010-3-10 15:52 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 「何か」が「参照出来ていない」ということです。その「何か」を確かめるのが最優先です。
引用: riedynaさんは書きました: 「[object MainTimeline]と返ってくる」のであれば、MovieClipインスタンスとして認識されていると考えられます。だとすると、キャストすれば「#1061のエラー」は起こらないはずです。エラーメッセージは「未定義である可能性のあるメソッドgotoAndPlay」なのですか? 引用: riedynaさんは書きました: 引用: trace(root);を試させていただきますと、ちゃんと 「スマート」な方法より、エラーを解消する方が先決です。エラーの原因がわからぬまま、やり方を変えて動いたとしても、「スマート」以前に「安心」できなくありませんか? 引用: やはりMCをポン!とおいてrootの読み込みを調べる方法は |
| えり | Åê¹ÆNo.44529 投稿日時: 2010-3-10 16:52 |
新米 ![]() ![]() 居住地: 投稿: 23
使用環境:
win,mac Flash CS4 |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 ご回答ありがとうございます!
エラーの件でございますが、 はい、キャストすると「1061のエラー」は起きません。 代わりに以下の、「#1009エラー」がおこってしまうのです。 しかもパブリッシュ設定をFlashPlayer10にした時のみでFlashPlayer9以下では出ないのでございます。 1) MovieClip(root).gotoAndPlay("contents"); 書きますと、 -------------------------------------------------------- TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at _fla::loader_1/loadCheck() -------------------------------------------------------- 2) root.gotoAndPlay("contents"); 書きますと、 -------------------------------------------------------- 1061:未定義である可能性のメソッドgotoAndPlayを、静的型 flash.display:DisplayObjectの参照を使用して呼び出しました。 -------------------------------------------------------- というエラーが出ます。 こちらを入れさせて頂きましたところ、 trace( MovieClip(root).gotoAndPlay); -------------------------------------------------------- function Function() {} -------------------------------------------------------- このように出力パネルに帰ってきました。 >やり方を変えて動いたとしても、「スマート」以前に「安心」できなくありませんか? 申し訳ありません・・・・! loader_mcをポンと置くのは諦めて、 rootに直接みなおいてしまえと思っておりました。。 もしもう少しお付き合いいただけるようであれば 宜しくお願いいたします。。 (お忙しいと思いますので恐縮で圧死しそうです!!) |
| 野中文雄 | Åê¹ÆNo.44530 投稿日時: 2010-3-10 17:36 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 以下の結果からは、DisplayObject.rootプロパティもMovieClip.gotoAndPlay()メソッドも参照できていると考えられます。だとすると、参照できていないのは、これら以外の「何か」です。フレーム移動した先で、問題が起こっていませんか?移動先をMovieClip.currentFrameにすると、エラーは生じますか?
引用: riedynaさんは書きました: |
| えり | Åê¹ÆNo.44540 投稿日時: 2010-3-11 4:30 |
新米 ![]() ![]() 居住地: 投稿: 23
使用環境:
win,mac Flash CS4 |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 お忙しいさなかありがとうございます!! はい!以下のステートメントではエラーは発生しません!! >移動先を >MovieClip.currentFrameにすると、エラーは生じますか? >MovieClip(root).gotoAndPlay(MovieClip(root).currentFrame) >フレーム移動した先で、問題が起こっていませんか? 写真を("contents")から置いてあるだけでございまして、 エラーはでるものの、ローディングバーは動作しております* 新規作成で、何回も1からファイルを作りなおしてみましたので、 移動した先のコンテンツは問題はないように感じますが。。 |
| 野中文雄 | Åê¹ÆNo.44541 投稿日時: 2010-3-11 4:44 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 表現の仕方を変えましょう。「フレーム移動した」ことを原因として「何か」が参照できなくなり、エラーとなっている可能性が疑われます。それが、引用されているスクリプトのフレームアクションなのか、移動先フレームのスクリプトなのかわかりません。
引用されているフレームアクションのフレーム移動後のスクリプトはどのようになっていますか。また、移動先フレーム"contents"には、どのようなスクリプトが記述されていますか?可能なかぎりステートメントを削除して、問題箇所を絞り込んでください。→「トラブルの『捜査手順』」 引用: riedynaさんは書きました: |
| えり | Åê¹ÆNo.44543 投稿日時: 2010-3-11 6:22 |
新米 ![]() ![]() 居住地: 投稿: 23
使用環境:
win,mac Flash CS4 |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。 恐縮ですありがとうございます!!
>引用されているフレームアクションのフレーム移動後のスクリプトはどのようになっていますか。また、移動先フレーム"contents"には、どのようなスクリプトが記述されていますか? 引用されているフレームアクションはメインタイムラインの1フレーム目に置かれているMCの1フレーム目に書かれているものです。メインタイムラインの1フレーム目にはstop();だけ記述しております。 移動先フレーム"contents"には何も記述いたしておりません。。。 すみません!! |
| 野中文雄 | Åê¹ÆNo.44544 投稿日時: 2010-3-11 7:10 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: MovieClipのキャストを使用すると、FlashPlayer10で書き出すと #1009 のエラーが出てしまいます。
|
| (1) 2 » | |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン


環境:WinXP CS4 AS3です。

CS5.5
.6.8
Vista Home Premium (SP1)

