Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   addChild status (http://www.flasher.ru/forum/showthread.php?t=183688)

AlexCooper 29.08.2012 13:08

addChild status
 
Доброго время суток коллеги)
Подскажите если ли свойство проверки добавлен ли экземпляр на сцену, не прибегая к перебору всех экземпляров контейнера??
Примерно так
Код AS3:

var newSprite:Sprite = new Sprite();
    trace(XFUNCTION(newSprite)); // false;
    container.addChild(newSprite);
    trace(XFUNCTION(newSprite)); // true;


Maxio 29.08.2012 13:16

Если я правильно понял суть вопроса, то просто юзайте свойство stage у любого экземпляра. newSprite.stage будет равно null, если он не с списке отображения. И ссылке на стейдж, если в списке

AlexCooper 29.08.2012 13:31

Спасибо)

spirit2 29.08.2012 13:43

Код AS3:

trace(container.contains(newSprite)); //true


Korchy 29.08.2012 13:47

По моим наблюдениям лучше использовать свойство parent.
Код AS3:

if(MySptite.parent!=null) trace("на сцене");

Несколько раз наталкивался на неопределенность stage если несколько раз добавить объект на сцену и убрать его со сцены. Т.е.
Код AS3:

trace(MySprite.stage); // null
addChild(MySprite);
trace(MySprite.stage); // не null
removeChild(MySprite);
trace(MySprite.stage); // может быть не null


AlexCooper 29.08.2012 13:56

Спасибо за карту подводных камней)))

КорДум 29.08.2012 13:58

contains тоже зашивает в себе перебор в цикле. Только оно нативное.

Wolsh 29.08.2012 14:44

Простой тест показывает, что никаких проблем со stage или parent нет. А если есть, то не в них дело))
А у contains есть не всегда приятное свойство — дети детей тоже contains в проверяемом контейнере. Если об этом не забывать, то любой способ подходит.


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

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