0

我正在编程,当我认为一切都很好时,Flash 向我抛出了一个错误!?

一开始我是懵逼的。然后在检查了我的代码后,我看不到罪魁祸首。所以我所做的就是“简单化”,并将其更改为只是一个跟踪语句。

但是,我仍然收到错误消息。我不知道出了什么问题。

   package  {

     import flash.display.MovieClip;
     import src.data.DActors;

     public class DocumentClass extends MovieClip {

        public var dActors:DActors = new DActors;

        public function DocumentClass() {
        trace (dActors);
        trace ("Main");
        }

    }

}

这是 DActor 类:

package src.data 
{
  public class DActors
   {
       public var me:int = 1;

      public function DActors();
       {    
          trace(me);
       }

  }

}

一些我不知道的范围或什么?

哦,顺便说一句,它会抛出''我'没有被定义'!?

编辑:实际上,我没有意识到真正的问题,为什么我的构造函数不接受变量!

 package src.data 
 {
public class DActors
{
    public var actors:Array = new Array();
    public var dActor:DActor = new DActor();

    public function DActors();
    {   
        actors.push(dActor);
    }

}

}

输出:

1120:访问未定义的属性参与者。

1120:访问未定义的属性 dActor。

???这让我非常担心。要么我的眼睛在愚弄我,要么我错过了一些非常基本的东西。

4

4 回答 4

1
public function DActors();

构造函数不会以;(分号)结尾。

于 2012-08-24T09:28:40.173 回答
0

构造函数后的分号DActors会破坏您的代码。

public function DActors();

如果您将DActors课程更改为此,它将起作用:

package src.data
{
    public class DActors
    {
        public var me:int = 1;

        public function DActors()
        {
            trace(me);
        }
    }
}
于 2012-08-24T09:24:01.553 回答
0

正确调用构造函数

public var dActors:DActors = new DActors();
于 2012-08-24T08:46:20.297 回答
0
public var dActors:DActors = new DActors;

应该:

public var dActors:DActors = new DActors();
于 2012-08-24T08:45:00.560 回答