0

私は自分の新しいプロジェクトに外部 AS ファイルを使用しています。これには、描画する場所の作成が含まれていたため、次のチュートリアルを使用して必要なものの基本的なアイデアを得ることができました。

アプリの描画部分を3番目のフレームに配置して、プリロードとメニューを追加することを決定するまで、希望のアプリケーションが機能し、スムーズに実行されました。これにより、次のエラーが発生しました。

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。
- Main/convertToBMD()
で - Main() で

そのため、プロパティの下のクラスに Main.as を追加する代わりに、フレームにファイルをインポートすると考えました。使用:

var main:Main = new Main();
addChild(main);

これは、インスタンス名へのすべての接続を失うこととは別に機能しました。

Line 64 1120: Access of undefined property pencil.
Line 65 1120: Access of undefined property eraser.
Line 65 1120: Access of undefined property txt.
Line 82 1120: Access of undefined property board.
Line 83 1120: Access of undefined property board.

等.....

だから私が知りたいのは、これを行い、どのフレームでも動作させるより良い方法はありますか?

外部スクリプトの何かを変更するか、別の方法でフレームにインポートしますか?

ありがとうございました

エリ

4

1 に答える 1

1

問題は、名前付きインスタンスがインスタンスのプロパティであり、MainTimeline通常はステージの最初の子であることです。プロパティはクラスのプロパティではありません (もはや) Main

したがって、 からこれらのプロパティにアクセスする場合はMain、次のようにすることができます。

var timeline:DisplayObject = stage.getChildAt(0);
var pencil:DisplayObject = timeline["pencil"];

// do stuff with 'pencil'
pencil.x = 500;
...

注:これは、プロパティが設定されMainていることを前提としています。ただし、これは、 のコンストラクターで、上記を実行するためにまだプロパティにアクセスできないことを意味します。これが問題になる場合は、「pencil」などを使用する前にイベントを待機することを検討してください。stageaddChild(main);MainstageMainADDED_TO_STAGE

于 2012-04-15T19:55:47.237 に答える