Форум 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=124536)

ERrorMAKros 02.05.2009 20:22

Существует ли объект или нет?
 
Привет,
как проверить - существует объект или нет?
К примеру мне нужен в программе блок, который проверяет
есть ли динамически созданный movieclip с name="MyClip" или нет, если нет то содается movieclip.name="MyClip"; ...если есть, тогда нужно его уничтожить и создать заново! ...опять мое незнание синтаксиса языка :(

В php это команда isset(имя объекта)... если с чем то сравнивать.

silin 02.05.2009 20:36

getChildByName

ERrorMAKros 02.05.2009 20:42

Спасибо, а вот еще вопрос - как правильно удалить переменную такого типа:
Код AS3:

var MyVar: MovieClip = new MovieClip();

Имеется в виду - полностью освободить память которую занимает этот объект со всеми принадлежащими ему свойствами и объектами внутри него.

И нужно ли предварительно, перед удалением такого экземпляра переменной, удалять всех Childs внутри ее (если они есть) и удалять все EventListener (если они тоже есть) ...??

silin 02.05.2009 21:02

да, нужно все удалять - ссылки, подписки, детей..
насколько нужно и что именно посмотри поиском, тема обсуждалась не раз

ERrorMAKros 04.05.2009 23:03

Тут как то опять замкнулся.
Вопрос следующий, как получить список объектов в моем мувике, если я не знаю ни их индексы, ни их имена? Предположим, что в моем MovieClip`е содержится N объектов, которые в ходе работы создавались динамически... они могуть быть чем угодно и сколько угодно.
Пытался получить так:

Код AS3:

for(var CYcle:Number = 0; CYcle <= MyClip.numChildren; CYcle++)
{
trace(MyClip.getChildAt(CYcle).name);
}

Вылетает: RangeError: Error #2006: Предоставленный индекс выходит за допустимые пределы.

Это уже на CYcle=0;

Kuruki 04.05.2009 23:30

Цитата:

Это уже на CYcle=0;
Как раз таки нет, на последнем круге ошибка вылетает. Потомучто индексирование детей начинается с нуля, следовательно numChildren больше последнего индекса на 1

silin 04.05.2009 23:31

не, это на CYcle=numChildren
всего детей numChildren, но нумерация с 0, на numChildren никого нет


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

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