Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在Flash professional中将动态变量添加到movieClip实例_Actionscript 3_Flash_Actionscript - Fatal编程技术网

Actionscript 3 在Flash professional中将动态变量添加到movieClip实例

Actionscript 3 在Flash professional中将动态变量添加到movieClip实例,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我在舞台上用Flash制作了很多电影剪辑的例子。我希望能够添加一个动态变量到每个。例如,我想给每个实例编号 我尝试给每个实例一个实例名(例如,box1,box2),并在layer 1>frame 1 code窗口中编写以下代码 box1.number = 1; box2.number = 2; etc. 或 但在Flash builder中尝试访问变量时,变量未定义 您应该为所有要扩展的movieClips创建一个自定义类(用作基类)。如果不知道如何执行此操作,请在.fla目录的根目录中创建以

我在舞台上用Flash制作了很多电影剪辑的例子。我希望能够添加一个动态变量到每个。例如,我想给每个实例编号

我尝试给每个实例一个实例名(例如,box1,box2),并在layer 1>frame 1 code窗口中编写以下代码

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


但在Flash builder中尝试访问变量时,变量未定义

您应该为所有要扩展的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

因此,我将为每个框创建一个新的电影剪辑,它将扩展
MyCustomClassName
?如何设置
myNumber
?保持与现在相同的框,只需将其基类设置为自定义类。然后,您可以像设置其他属性一样设置自定义属性。myBoxInstance.myNumber=5;但是,如果您使用了时间线,请在类文件中将extends Sprite更改为extends MovieClip。要清楚,您只需要一个MovieClip/box,您可以创建它的多个实例,并更改每个实例的myNumber属性。如果您通过代码实例化它,您甚至可以将该数字用作构造函数的参数。我将更新代码以显示我是如何遇到一些麻烦的,
myNumber
始终为0<代码>我的编号将在Flash builder中自动完成,这很好,但我在Flash中的代码似乎不起作用:
box1.myNumber=1
var box:MyCustomClassName = new MyCustomClassName(5);   //creates a new box giving it the number 5