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
的值