![]() |
Есть вопрос об объектах муви клип
Есть вопрос об объектах муви клип. В самой программе флеш cs5 есть опция создать комплексный объект, в котором хранятся несколько муви клип. И есть возможность обращаться к каждому из них отдельно, с помощью того, что мы выставляем наш большой объект на таймлайн и с помощью экшенс вставляем код в любой из этих мини- объектов. Теперь вопрос, можно ли импотировать такой комплексированный муви-клип (например во флеш-билдер) и обращаться к его мини-объектам. Как это возможно?
Добавлено через 49 минут Сделала во флеш муви кли, состоящий из многих простоых муви клипов. Часть из них кнопки и т.д. на которые надо реагировать. Было влом раставлять все объекты по одному с помощью кода. Просто сгрупировать всё как один объект и выставить на экран. Нашла решение. Код AS3:
|
А что такое "комплексный объект"?
|
А что это такое?
Код AS3:
Приведение типа? |
Похоже на приведение с намеком на сишный стиль) хотя почему бы и нет, так тоже будет работать.
|
Строила графику во флеш профешнл. Создала объект типа муви клип (у меня это таблица) со многими кнопками на ней. Вместо того, чтобы вручную выставлять каждый муви клип на сцену, можно импортировать со флеш профешнл весь этот стол (со всеми кнопками), на котором уже всё раставлено. И потом пользоватся getChildAt, обращаясь к каждому компоненту отдельно.
Добавлено через 1 минуту Что такое привидение?? Вы о чём? |
А можно задать InstanceName и обращаться по имени соответствующего экземпляра класса
|
Код AS3:
|
Код AS3:
|
Нет, я имел ввиду задать имена объектам, которые потом поименно отборажаются, как поля класса. А приведенный вами участок кода во флеше выглядит странно как минимум
|
Код AS3:
Но не в этом суть. Идея заключалась в том, чтобы расставить весь Table со всеми кнопками (Ok и т.д.) в удобном графическом интерфейсе (флеш cs5). Сохранить всё готовое в библиотеке, и импортировать этот муви клип (Table), так чтобы, когда его выставляем в коде sprite.addChild(table); всё компоненты Table выставлялись в нужных местах на экране. (а не вручную подгонять каждый компонент Table). |
Ну так они и выставятся, в чем проблема-то?
|
Я тоже так думала. Это было логично, пока не попробовала ). После Table. не выдаёт таких вариантов, и код также не срабатывает.
|
Я, лично, не пойму: в чем проблема была изначально? И каким способом вы эту проблему решили?
Ну, нарисовали мы во флеше спрайт. В нем нарисовали другие мувиклипы. Импортировали этот главный спрайт в АС, назвали класс Table. Потом кодом создали этот спрайт. В нем делаем все что захотим со вложенными в него мувиками... Ни проблема ни ее решение непонятны... |
Проблема была в том, что не знала, как обращаться к мувикам, внутри этого спрайта Table. Пока не нашла способ table.getChildAt Дело в том, что я экпортирую этот Table как муви клип. На тот момент не понимала, что любой класс муви клип расширяет класс спрайт. На всякий случай спрашиваю- это так и есть? (Пойду почитаю в гугле). Начала изучать флеш всего 3 дня назад.
В этом была вся проблема. |
Может в конкретно вашем случае - это хороший вариант
Код AS3:
Код AS3:
|
Так и делала с trace (table.getChildAt(i)); [i=0..] Просто по-началу не поняла, что Table он спрайт.
|
Код AS3:
|
Цитата:
Код AS3:
|
Ну что, давайте сравним 3 способа (код + байт-код):
1) Код AS3:
Код:
_as3_getlex flash.display::DisplayObjectКод AS3:
Код:
_as3_findpropstrict flash.display::DisplayObjectКод AS3:
Код:
_as3_findpropstrict flash.display::SpriteИ 1), и 2) могут выкинуть исключение, в отличии от 3, который в случае неудачи просто вернет null. Если судить по количеству инструкций - то самый медленный способ должен быть 1), который и использует автор. Более того, этот способ небезопасен. |
| Часовой пояс GMT +4, время: 02:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.