我有两个类:A类和B类.A类创建一个数字并将其传递给B类。
当我在B类中定义A类时,Flash会抛出TypeError
:
错误#1009:无法访问空对象引用的属性或方法。
这是Flash中的一个常见错误。
我在A组有两个功能:
A类:
public function ClassAConstractor():void{
stage.addEventListener(MouseEvent.MOUSE_DOWN , OnMouseDown );
stage.addEventListener(MouseEvent.MOUSE_UP , OnMouseUp);
}
B组:
mmm = new ClassAConstractor(); // << when i want define class a in b
当我在A类的构造函数中删除这两行时,问题就解决了,但我需要这两行。
当我在B类中定义A类时,会出现此问题。当我没有在B类中定义A类时,没有问题;它运作良好。
我知道Flash会为STAGE抛出错误,但我不知道如何解决这个问题。
答案 0 :(得分:1)
听起来你正试图在它可用之前进入舞台。使用Event.ADDED_TO_STAGE
事件。
package
{
//Imports
import flash.display.Sprite;
import flash.events.Event;
//Class
public class MyClass extends Sprite
{
//Constructor
public function MyClass()
{
//trace(stage.stageWidth);
//too early to call the stage, unless MyClass is the Document Class
addEventListener(Event.ADDED_TO_STAGE, init);
}
//Initialization
private function init(evt:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
trace(stage.stageWidth);
}
}
}