A类:
[SWF(width='800',height='600',frameRate='24')]
public class A extends MovieClip {
private var b:B;
public function A(){
super();
b = new B();
addChild(b);
addEventListener(Event.ENTER_FRAME, update);
}
private function update(e:Event):void {
b.draw();
}
}
B级:
public class B extends MovieClip {
public function draw():void {
//! following code works well if put in constructor, but not here
this.graphics.beginFill(0xff0000);
this.graphics.drawCircle(200,200,50);
}
}
this.graphics调用在draw方法中什么都不做,但在B的构造函数中工作正常,我做错了什么?
答案 0 :(得分:1)
我没有立即看到问题。需要考虑的几件事情:
答案 1 :(得分:0)
奇怪的是代码对我来说很好(OSX上的Chrome)。
我可以看到它出错的唯一方法是当b为空时调用事件监听器,所以你可以在那里检查“if(b)b.draw();”
或者电影停止了(就像在IE中发生的那样,你需要点击以启用swf才能运行)