0

我在Flash 的舞台上有许多movieClip 实例。我希望能够为每个变量添加一个动态变量。例如,我想给每个实例编号。

我尝试为每个实例指定一个实例名称(例如 box1、box2)并在 layer 1 > frame 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 回答