TypeError:错误#1009:无法访问空对象引用的属性或方法

时间:2011-06-19 04:43:19

标签: flash actionscript-3

我有两个类: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抛出错误,但我不知道如何解决这个问题。

1 个答案:

答案 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);
        }
    }
}