![]() |
Как узнать существует ли объект?
Знаю что есть метод contains, но почему-то он не действует. Пишет ошибку
Код AS3:
Код AS3:
Переменные indMan1,2 берутся из XML, если это важно |
Вы про дисплей обжекты говорите?
|
contains() - это в смысле метод DisplayObjectContainer'a? Если point1_1To3_0 не DisplayObject или this не DisplayObjectContainer, то будет ошибка.
А зачем такие неуклюжие манипуляции с названиями переменных? Чтобы проверить, существует ли объект, нужно знать, какой объект проверять, а в вашем случае похоже, вы не знаете, что именно хотите проверить... |
Оно не нашло указанное свойство, contains тут непричем ещё.
|
Цитата:
Неуклюжие названия.... ну я даже не знаю почему, наверно потому что объектов достаточное кол-во (point...), а имя (объект которыый нам нужен в определенный момент) формируется в зав-ти от выбранных установок, которые сидят в XML. Мда, объяснила.....:wacko: |
MovieClip - это класс, и существует он всегда, более того, он не может не существотать, т.как встроен в плеер.
Не понятно зачем вообще давать имена, если они все равно не нужны... почeму нельзя просто сложить объекты в какой-нибудь список, типа массива, например. |
Цитата:
А если потом этот пользователь в XML захочет изменить индекс на другой? А это предполагается.... Добавлено через 10 минут Цитата:
|
Цитата:
|
Цитата:
Только у меня не один индекс, а два, и они (идин или оба могут поменяться через неделю). Чтоб было понятно вкратце - есть основные элементы, между которыми надо показывать линии связи (point), вот насчет них и говорим. На каждом этапе показа свои активные основные элементы, в зав-ти от того кто они такие - показываем определенную стрелку (point), но как уже сказала все может поменяться и надо будет на этом же этапе сделать активными другие элементы, а следовательно и стрелка будет уже не эта. Для чего мне нужно узнать есть ли такой объект - для страховки от ошибки пользователя. И все равно не понимаю как не давать элементам (разных визуально) имен и как их потом выискивать в ентом массиве. Даже если я выкручусь и не обзову их - что от этого выиграю? ПС: теоретически линии связи можно нарисовать программно, но хотелось бы их сделать красивыми, а программно я не умею, но зато сразу же будет проще к ним обращаться. Видимо все идет к тому...... |
Код AS3:
|
Цитата:
Как все таки распознать есть ли объект pointXX на сцене? Пока ни к чему толковому не пришла.... Добавлено через 1 час 3 минуты И все-таки не удержусь и спрошу. Если не даем имени объекту на экране, как его положить в массив и узнать что именно он там где надо лежит? (объекты находятся в разных местах, зававать местоположение программно нет смысла - очень трудоемко и возможно надо будет сдвинуть, и принадлежат разным классам, только род.класс совпадает). |
var contains : Boolean = this.getChildByName ("point" + indMan1 + "To" + indMan2) != null;
Цитата:
|
Цитата:
Если же это так, то почему бы, одновременно с добавлением в контейнер, не добавлять этот объект в массив? Вы же в момент создания объекта уж точно имеете ссылку на него, вот, используя эту ссылку, и добавляйте... |
можно создать хэш список, причем mc могут принадлежать любому контейнеру. при удалении просто занул
Код AS3:
|
Цитата:
Добавлено через 3 минуты Цитата:
Объекты уже добавлены на сцену и проименнованы Может пойдет obj.parent.contains(obj)? |
Подойдёт getChildByName()
|
| Часовой пояс GMT +4, время: 16:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.