|
|
|||||
Регистрация: Feb 2006
Сообщений: 38
|
Почему не работает addChilAt()
Мне необходимо добавлять новый MovieClip (или DisplayObject) на определенный слой (как раньше depth). При использовании addChildAt(), происходит ошибка (все что нужно я импортирую). Как можно с этим справиться?
|
|
|||||
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Для начала -- указать, что же за ошибка
|
|
|||||
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Раз ответа нет, предположу: вы не понимаете, зачем нужен addChildAt. Он добавляет объект в позицию по глубине, но это уже не так глубина, что раньше. AS3 рулит глубинами сам.
Если вы хотите не указать визуальную глубину, а просто добавить элемент так, чтобы он не заместил другой -- используйте addChild и не парьтесь. |
|
|||||
Регистрация: Feb 2006
Сообщений: 38
|
Мне нужно именно задавать глубину, а не распологать их по порядку. Например нужно для одного задать одну глубину, а для другого совершенно другую. А ошибка возникает следующая - №2006 the supplied index is out of bounds.
|
|
|||||
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Повторяю: ActionScript 3 сам управляет глубинами. Если надо вынести объект визуально выше из списка соседей по контейнеру (читай: других детей этого же объекта-родителя), тогда используется addChildAt, но при этом параметр индекса не может быть больше, чем число элементов. Поэтому, добавлять первый объект через это свойство бессмысленно.
Этот метод создан для вставки объекта в середину по визуальной глубине, а также создания bring to front / send to back. |
|
|||||
Регистрация: Feb 2006
Сообщений: 38
|
А если все таки необходимо чтобы между объектами была разница не в 1, а в заданное количество единиц по глубине... Нужно сделать так чтобы в одном объекте было несколько объектов с заданными глубинами (например 1000, 2000, 3000 и т.д.)
|
|
|||||
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Вопрос сразу: а зачем?
Чтобы запихать под второй потом еще 999? Это говорит о неверной иерархии мувиклипов в приложении. Adobe все верно сделали, автоматическое руление глубинами __рулит__. Опишите задачу шире, что-нибудь подскажем. |
|
|||||
стервочка (я мужик)
|
хочу сам не знаю чего, мне не привычно. сделайте пожалуйста как было, а то мне 3 раза объяснили, а я так и не понял %)
|
|
|||||
Регистрация: Feb 2006
Сообщений: 38
|
Делаю игру, нужно чтобы юнит скрывался за объектом, у меня есть сектор в секторе максимум 50 объектов (все в BitmapData), и может быть до 100 юнитов. Чтобы скрыть юнита за объектом я хочу сделать следующее проверяю юнита на столкновение с объектом, а затем делаю следующее у каждого объекта есть маска, под которой я буду скрывать юнита (для этого делаю у маски blendMode="erase", а юнита ставлю под (по глубине) маску для этого у маски глубина должна быть равна не 1,2,3,....., а примерно 1000,2000,3000... чтобы под один объект запихать несколько юнитов......... Вобщем объяснить достаточно сложно, но я делал это под 7 flash, затем подгонял под 8-ой, а теперь и под flex нужно переделывать. Подбирал достаточно много способов скрытия за объетами наиболее оптимальный этот (который слишком долго объяснять). Я толко начал осваиваться в flex, и для того чтобы действительно переделывать все под flex мне нужно понять как можно сделать некоторые основные элементы.....
Последний раз редактировалось dipter; 20.02.2006 в 22:13. |
|
|||||
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Не подо Флекс, а под АС3.
Во Флекс игру не сделаешь. А не проще воспользоваться возможностью цеплять любой объект к любому контейнеру? Т.е. взять юнита и перетащить в некий слой для скрытия... Раньше это было невозможно, а теперь к чему ужиматься? |
Часовой пояс GMT +4, время: 13:54. |
|
« Предыдущая тема | Следующая тема » |
|
|