Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Список отображения. (http://www.flasher.ru/forum/showthread.php?t=153318)

stweet 31.03.2011 19:54

Список отображения.
 
Народ, привет. Помогите в рассуждениях.
Код AS3:

// Суть:
var spr1:Sprite = new Sprite();
var spr2:Sprite = new Sprite();
 
addChild(spr1);
addChild(spr2);
 
// заново добавляю в список отображения.
addChild(spr1);
 
// Вопрос:
// Что происходит в данной ситуации, спрайт(spr1) перезаписывается или просто меняет порядок
// отображения?


goodguy 31.03.2011 19:58

Спрайт удаляется из одного контейнера и добавляется в другой
Цитата:

спрайт(spr1) перезаписывается
Что имеется в виду под словом перезаписывается? Он не создается заново, если имеется в виду это

stweet 31.03.2011 20:01

о! Спасибо. Т.е. его можно не removeChild(); чтобы переместить в другу глубину отображения?
И сразу назрел очередной вопрос: как влияет такой метод на расход памяти.

Idon 31.03.2011 20:07

На расход памяти это не влияет, но removeChild/addChild медленней, чем swapChildren и swapChildrenAt

stweet 31.03.2011 20:21

Цитата:

Сообщение от goodguy (Сообщение 985648)
Что имеется в виду под словом перезаписывается? Он не создается заново, если имеется в виду это

Это и имелось ввиду. Сори за не правильное изложение мыслей.

dimarik 31.03.2011 21:06

Последний вызов addChild перенесет spr1 в конец списка детей этого контейнера. Но эта метода медленнее, чем swapChildrenAt setChildIndex.

dodoaav 31.03.2011 21:17

Стоит отметить, что swapChildrenAt и addChild работают одинаково только в случае двух объектов в дисплей листе.
Если объектов много, то addChild поместит объект на верх списка, так что бывший "верхний" станет вторым. В то время как swapChildrenAt поменяет объекты местами и бывший "верхний" может оказаться в самом низу

stweet 01.04.2011 15:38

всем спасибо за глубокое разъяснение. В моём случае не подходит swapChildrenAt. Т.к. swapChildrenAt только меняет местами глубину спрайтов а мне нужно что бы ещё добавлял в список.

mikhailk 02.04.2011 10:08

еще есть setChildIndex
кстати

dimarik 08.04.2011 00:59

О! Именно его я имел ввиду, рассказывая по ошибке о прелестях swapChildrenAt.


Часовой пояс GMT +4, время: 22:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.