Costumクラスのステージクラスプロパティにアクセスするにはどうすればよいですか?カスタムクラスのActionScript 3.0 stageWidth
クラス:
package {
import Main;
import flash.events.*;
import flash.display.Sprite;
import flash.display.Stage;
public class Run extends Sprite {
var obj:a1_spr;
public function Run() {
runAssets();
}
private function runAssets():void {
obj = new a1_spr()
addChild(obj);
obj.x = stage.stageWidth/2;
}
}
}
出力:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
タンク・ユー。できます。しかし、なぜ私が理解しているのか分からない。リスナーと一緒に走らなければならない理由を説明してください。 –
すべてのDisplayObjectのstageプロパティは、表示リストに追加されるまではnullです。したがって、オブジェクトにアクセスする前にそのオブジェクトがオブジェクトに含まれていることを確認する必要があります; – Cay
var myObjectを使用してオブジェクトをインスタンス化するとき:MyObject = new MyObject ()コンストラクタはすぐに実行され、コンストラクタの内部で呼び出すメソッドも含まれます。新しいMyObjectの次の行がaddChild(myObject)であっても、myObjectはステージ上にないか、ステージへの参照を持たないでしょう。また、ステージを作ることもできます:MyObjectのコンストラクタ引数をステージングします。新しいmyObject(this.stage)があり、アプリケーションのステージにすぐにアクセスできます。 –