0
這是我試圖實例化爲我的主類的類:的addChild定製類AS3
public class Character extends Sprite {
[Embed(source='../lib/front1.svg')]
private var front1Class:Class;
private var crosshair:Sprite = new front1Class();
public function Character() {
trace("started");
Mouse.hide();
crosshair.scaleX = 5;
crosshair.scaleY = 5;
this.addChild(crosshair);
stage.addEventListener(Event.ENTER_FRAME, MrEveryFrame);
stage.addEventListener(MouseEvent.CLICK, click);
}
private function click(evt:MouseEvent):void {
trace("clicked @ " + evt.stageX + "," + evt.stageY);
}
public function MrEveryFrame(e:Event):void
{
crosshair.x = mouseX - 15;
crosshair.y = mouseY - 15;
}
}
當我將它設置爲文檔類,它工作正常。
但是......當我提出這是我的文檔類,並試圖從那裏調用它:
public class Shell extends Sprite
{
private var character:Sprite = new Character();
public function Shell()
{
addChild(character);
}
}
它打破,而不再顯示Sprite對象(儘管它抹去的鼠標指針)。
這裏的交易是什麼?您不能將自定義精靈或動畫片段類實例化爲DisplayObject類?
做內部字符一個跟蹤:跟蹤(「階段存在嗎?「+階段);實例化時可能爲空。 – meddlingwithfire
如果您在構造函數中擴展Sprite,則需要調用'super();'來獲取屬於Sprite的所有內容。所以,就在你的行跟蹤(「開始」)之前;'添加行'super();'看看是否有幫助。 – Ian