Flash 在as3中,如何将时间线中的数组传递给类?
我在时间轴中有一个数组,需要传递给类文件,但我似乎不知道如何做,因为类间数组传输的方法似乎不起作用。您可以始终将数组作为方法参数传递或设置公共变量。Flash 在as3中,如何将时间线中的数组传递给类?,flash,actionscript-3,class,timeline,Flash,Actionscript 3,Class,Timeline,我在时间轴中有一个数组,需要传递给类文件,但我似乎不知道如何做,因为类间数组传输的方法似乎不起作用。您可以始终将数组作为方法参数传递或设置公共变量。 我认为,最好的方法是使用setter方法: class Foo { private var _bar:Array; public function set bar ( arr : Array ) : void { _bar = arr; } // it is customary to provi
我认为,最好的方法是使用setter方法:
class Foo {
private var _bar:Array;
public function set bar ( arr : Array ) : void {
_bar = arr;
}
// it is customary to provide a getter method to retrieve the value later
public function get bar ( ): Array ) {
return _bar;
}
// more stuff happening here.
}
您可以从这样的帧动作调用它:
var foo:Foo = new Foo();
foo.bar = [ 1,2,3 ];
你的问题中有一些术语上的怪癖,所以这是为了澄清一些事情:
类与对象的关系就像蓝图与房子的关系一样。设置属性值时,通常在对象(类的实例)上设置属性值,而不是在类本身上设置属性值。这样,每个对象实例可以有不同的值。类也可以有变量。这些变量称为“静态”变量,它们对于类的所有实例都是相同的。让我们假设
\u bar
被声明为私有静态var\u bar
:如果您随后创建var foo2:Foo=new Foo()
,foo2.bar
将自动返回与foo.bar
相同的值,如果更改foo2.bar
的值,还将更改foo.bar
的值 始终可以将数组作为方法参数传递或设置公共变量。我认为,最好的方法是使用setter方法:
class Foo {
private var _bar:Array;
public function set bar ( arr : Array ) : void {
_bar = arr;
}
// it is customary to provide a getter method to retrieve the value later
public function get bar ( ): Array ) {
return _bar;
}
// more stuff happening here.
}
您可以从这样的帧动作调用它:
var foo:Foo = new Foo();
foo.bar = [ 1,2,3 ];
你的问题中有一些术语上的怪癖,所以这是为了澄清一些事情:
类与对象的关系就像蓝图与房子的关系一样。设置属性值时,通常在对象(类的实例)上设置属性值,而不是在类本身上设置属性值。这样,每个对象实例可以有不同的值。类也可以有变量。这些变量称为“静态”变量,它们对于类的所有实例都是相同的。让我们假设\u bar
被声明为私有静态var\u bar
:如果您随后创建var foo2:Foo=new Foo()
,foo2.bar
将自动返回与foo.bar
相同的值,如果更改foo2.bar
的值,还将更改foo.bar
的值