0

FlashのステージにmovieClipのインスタンスがいくつかあります。それぞれに動的変数を追加できるようにしたいと思います。たとえば、各インスタンスに番号を付けたいと思います。

各インスタンスにインスタンス名(例:box1、box2)を付けて、レイヤー1>フレーム1のコードウィンドウに次のコードを記述してみました。

box1.number = 1;
box2.number = 2; etc.

また

box1["number"] = 1;
box2["number"] = 2;

ただし、Flash Builderで変数にアクセスしようとすると、変数は未定義になります。

4

1 に答える 1

0

すべてのmovieClipsを拡張するためのカスタムクラスを作成する必要があります(基本クラスとして使用)。これを行う方法がわからない場合は、.flaディレクトリのルートに次のMyCustomClassName.asファイルを作成してください。

package {

    public class MyCustomClassName extends Sprite {  //use MovieClip is your box makes use of the timeline
        public var myNumber:int = 0;

        public function MyCustomClassName(num:int = 0) {
            myNumber = num;
        }
    }
}

次に、ボックスオブジェクトで、ライブラリ内で右クリックし、プロパティ/リンクを表示します。基本クラスをカスタムクラス.asファイルへのパスに設定します

すべてを同じままにしておくと、ボックスはその基本クラスのすべてのプロパティと関数を継承します。

myBoxInstance.myNumber = 5;

または、コードを介してインスタンス化する場合:

var box:MyCustomClassName = new MyCustomClassName(5);   //creates a new box giving it the number 5
于 2012-08-17T16:51:22.780 に答える