PDA

Просмотр полной версии : Изменение приоритета только что созданых объектов


Anabel
25.01.2014, 20:39
Добрый вечер! Как можно поменять приоритет отображения только что созданых объектов?
Привер: Есть на поле действия объект, которым руководит человек. Во время некоторых действий создаються новые объекты:
var krov2:Krov_udar2 = new Krov_udar2;
krov2.x = dim.x;
krov2.y = dim.y;
addChild(krov2);
Когда созданный объект и руководимый оказываються в одних координатах, созданный перекрывает руководимый. Как сделать, что бы было наоборот?

FlasherEgor
25.01.2014, 20:45
Есть метод
addChildAt (child:DisplayObject, index:int)
Чайлд - это то, что мы добавляем, а индекс - это глубина.

Добавлено через 1 минуту
Вот тут лучше написано:

http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#addChildAt%28%29

Добавлено через 11 минут
Еще можно использовать для изменения глубины, если объект уже добавлен, такой метод:

setChildIndex(child:DisplayObject, index:int):void
А узнать его глубину можем методом

getChildIndex(child:DisplayObject):int
Все это - методы экземпляров DisplayObjectContainer.

Anabel
25.01.2014, 22:01
Огромное спасибо!)

ChuwY
27.01.2014, 20:12
А еще лучше создать два контейнера, расположить их на нужной глубине и прикреплять объекты уже к ним.

FlasherEgor
27.01.2014, 20:23
Кстати, да - и как я сразу не додумался... Так логичнее будет сделать.

Akopalipsis
27.01.2014, 20:44
А у меня точно такой же вопрос был пару дней назад, но я отказался от специальных контейнеров, из-за мысли, в которой нельзя было допускать смену родителя. Не знаю, как на практике, бывает такое или нет, но я остановился на изменении глубины по индексу в том контейнере, в который их положили.