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");
        }

    }

}

これはDActorsクラスです:

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
public var dActors:DActors = new DActors;

する必要があります:

public var dActors:DActors = new DActors();
于 2012-08-24T08:45:00.560 に答える
0

コンストラクターを適切に呼び出す

public var dActors:DActors = new DActors();
于 2012-08-24T08:46:20.297 に答える
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 に答える