所以我正在开发一款2D平台游戏,而且我得到的是#1009。
在我的Pickup()类中,在构造函数中,我正在尝试将this.x和this.y设置为中心阶段,但是它将阶段称为空对象引用。
public function Pickup() {
// constructor code
bitmapData.draw(_displayObject);
mSprite = new Bitmap(bitmapData);
addChild(mSprite);
this.x =
stage.width/2;
}
我将this.x与stage.width分开,看看哪个部分触发了null,这绝对是舞台。
这可能是非常明显的事情,我会因为没有注意到它而打败自己。
无论如何,非常感谢任何帮助。
干杯
答案 0 :(得分:0)
添加添加到舞台
的事件侦听器public function Pickup() {
// constructor code
bitmapData.draw(_displayObject);
mSprite = new Bitmap(bitmapData);
addChild(mSprite);
this.addEventListener(Event.ADDED_TO_STAGE, onAddToStage);
}
protected function onAddToStage(event:Event):void
{
this.x = stage.width/2;
}
答案 1 :(得分:0)
任何DisplayObject上的stage
属性都是null
,除非它实际上在舞台上。
这意味着您需要向侦听Event.ADDED_TO_STAGE
的对象添加事件侦听器,然后使用处理程序中的stage
。
或者,您可以将对Stage的引用传递给Pickup的构造函数:
public function Pickup(stage:Stage)
{
// Your code.
}