PDA

Просмотр полной версии : доступ к данным из одного клипа в другой


Junge
14.03.2016, 03:58
есть массив на главной сцене с одним единственным кадром.
var xxx:Array = ['1','2','3'];
как получить к нему доступ из клипов на сцене? global.xxx root.xxx parent.xxx this.parent.xxx не работают, вываливается ошибка при компиляции (( из главной сцены всё ок по trace(xxx);

faraday
14.03.2016, 04:27
public static var xxx:Array = ['1','2','3'];

trace(Main.xxx)
попробуйте так, вместо Main имя вашего класса

Junge
14.03.2016, 16:15
1114: Атрибут "public" может использоваться только внутри пакета.
1012: Атрибут "static" можно использовать только в определениях внутри класса.

undefined
14.03.2016, 17:22
товарищ в кадрах пишет.Код что ли по разным сценам раскидан?

Junge
14.03.2016, 17:30
код в одной сцене, в разных мувиках.
а как ещё писать если не в кадрах?

undefined
14.03.2016, 17:41
а как ещё писать если не в кадрах?
В классах же
Если весь код в одной сцене - перебирай
trace(this.parent);
trace(this.parent.parent);
...

Добавляя каждый раз новый parent
Как доберешься до [object MainTimeline] - там и будет лежать твой массив

i.o.
14.03.2016, 18:06
var myroot:MovieClip = this.root as MovieClip;
trace(myroot.xxx);

neonoviiwolf
15.03.2016, 09:57
товарищ, переходите к написанию кода в классах, жить станет легче

Junge
15.03.2016, 14:49
честно говоря знаю только AS1 по флешу, там было удобно писать в мувиках кадрах на кнопках, в классах это я так понимаю во внешних AS файлах? и потом их импортировать? в голове неукладывается зачем так сделано.

neonoviiwolf
15.03.2016, 15:15
всё намного проще, чем кажется, классы будут наследовать мувик, соответственно вместо кода в кадрах пишите код в классе. А в главном классе (как его назовёте) просто создаёте экземпляры этих классов, принцип такой. Это позволяет много наворотить интересных вещей и дебажить такой код на порядок проще
А сделано, чтобы можно было создать что-то сложнее баннера