Actionscript 3 在Flash professional中将动态变量添加到movieClip实例
我在舞台上用Flash制作了很多电影剪辑的例子。我希望能够添加一个动态变量到每个。例如,我想给每个实例编号 我尝试给每个实例一个实例名(例如,box1,box2),并在layer 1>frame 1 code窗口中编写以下代码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目录的根目录中创建以
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