PDA

Просмотр полной версии : Как клонировать объект в ActionScript 3


svx
03.03.2011, 19:07
В цикле создаем объекты и загружаем в них элемент массива (все это происходит в классе).

for(i=0;i<6;i++){
var anyVar:Class = new Class();
anyVar.name = 'name'+i;
this.addChild(anyVar);
}

флешка из массива добавляется только в последней итерации.

Как сделать копию элемента массива и загружать ее, чтобы сам массив оставался неизменным?

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

dimarik
03.03.2011, 21:41
Наберите в поиске "копирование объектов".

PS. Class - это зарезервированное слово и его лучше не употреблять в таком качестве.

КорДум
03.03.2011, 21:56
Упрощу поиск (:
http://flasher.ru/forum/showpost.php?p=580922&postcount=60

svx
04.03.2011, 10:50
dimarik Class это я для примера написал, на самом деле у него есть название.

КорДум или лыжи не едут или коэффициент трения превышает мои интеллектуальные способности съеденные экшн скриптом. Почему-то не помогло.

Я добавил себе предложенный класс, вызываю конструктор, и на выходе у меня по прежнему всего один объект.
Перед этим пользовался лоадером, который на каждой итерации цикла подгружал объект заново, но это выходит дофига лишнего трафика. Собственно потому и решил сделать массив в который все они разово загружаются и по логике должны по необходимости из него подтягиваться.
На сколько я понимаю проблема в том, что в каждой итерации цикла не добавляется новый клип, а переставляется имеющийся. В итоге в цикле он подставляется в каждый создаваемый объект, а потом переставляется в следующий и остается в последнем.