![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Добрый день!
В очередной раз молю о помощи ![]() Задачка следующая: создать некий менеджер слоев, т.е. по кнопке Add вызывается функция, добавляющая следующий слой, который ляжет поверх уже существующих, в дальнейшем можно будет менять положение этих слоев по глубине, и если нужно, удалять. Так вот, количество слоев в общем случае неопределено. В AS2 решил бы эту задачу так: использовал бы клип(который представляет слой) из библиотеки и пристегивал бы его attachMovie, ну или создавал бы контейнер createEmptyMovieClip, но главное что в этих методах можно было сделать автоматическое присвоение имени экземпляра. Но в документации на AS3 в разделе AS2.0 Migration указано что оба метода удалены и использовать addChild и new соответственно, но как в данном случае организовать автоматическое создание клипов с разными именами экземпляров. Трудно переключиться на другую идеалогию, но необходимо по условиям задачи AS3.0 Подскажите плз какую концепцию использовать в данном случае?. ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
У наследников DisplayObject есть свойство name, его можно задать, а обратиться можно, используя getChildByName. (Не забывать ещё кастить в нужный тип). Хотя, что мешает держать ссылки на клипы в массиве и обращаться к нужным элементам потом?
|
|
|||||
|
Вроде допер, главное было понять что например двухкратный вызов метода аналогичного addLayer() приведет к созданию двух разных child объектов для DisplayObjectContainer, несмотря на одинаковое имя newClip
private var i:uint = 0;
public function addLayer() {
var newClip:MovieClip = new MovieClip();
newClip.name = "clip" + String(i);
newClip.x = i*50;
newClip.y = i*50;
Stage.root.addChild(newClip);
i++;
}
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|