Как вы передаете массив из шкалы времени в класс в as3? - PullRequest
0 голосов
/ 16 марта 2011

У меня есть массив на временной шкале, который мне нужно передать в файл класса, но я не могу понять, как это сделать, поскольку метод передачи массивов между классами, похоже, не работает.

1 Ответ

3 голосов
/ 16 марта 2011

Вы всегда можете передать массив в качестве параметра метода или установить публичную переменную.
На мой взгляд, лучший способ сделать это - использовать метод установки:

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 ];

В вашем вопросе есть некоторые терминологические причуды, так что это прояснить вещи:

Класс - это объект, а план -дом.Когда вы устанавливаете значения свойств, вы обычно устанавливаете их на объекте (экземпляре класса), а не на самом классе.Таким образом, каждый экземпляр объекта может иметь разные значения.У класса тоже могут быть переменные.Они называются «статическими» переменными, и они одинаковы для всех экземпляров класса.Давайте предположим, что _bar были объявлены private static var _bar: если вы затем создадите var foo2:Foo = new Foo();, foo2.bar автоматически вернет то же значение, что и foo.bar, и если вы измените значение foo2.bar, вы также изменитезначение foo.bar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...