![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 27
|
НЕТ. duplicate дает возврат на 1 кадр.
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Как вариант - сделать BitmapData, посадить её в кучу разных Bitmap (и так бы сделал инстанцирование(копирование)) и по ENTER_FRAME BitmapData перерисовывал вот при помощи BitmapData draw.
Просто во флэше есть вот такой DisplayList. Не оч. вот местами ООП-шный и дружащий с показыванием одного и того же в разных местах. Если будете всё рисовать без addChild, каждому обьекту там по методу render, который рисует в рут, то проблем отрисовать обьект в разных местах не будет. Можно даже сделать свой DisplayList, в котором разрешить инстанцирование, где addChild не будет убирать из предыдущего контейнера (подумайте, что с parent делать при этом) =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 04.01.2011 в 12:48. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Офф: только сейчас внимательно прочитал название топика
![]() |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 27
|
Извиняюсь просто писал с нетбука.... неудобно.
|
|
|||||
|
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 27
|
Неправильно выразился прошу прощения.
Добавлено через 6 минут Да просто когда смотришь на парадигму ООП, ну так все прекрасно создаешь классы, экземпляры и кажется ну как же все классно, но вот элементарнейшая задача и я не могу сделать клон экземпляра что бы просто отобразить в нескольких местах.... |
|
|||||
|
Классы должны имплементить IClonable. Хотя, думаю оно Вам мало надо.
Классы должны иметь метод clone. При клонировании класс клонирует себя полностью, а у дочерних элементов тоже вызывает clone, которые в свою очередь тоже вызывают clone. Достучаться до визуальных объектов можно с помощью getChildAt. В итоге всё клонирование я бы сделал примерно так (код пишу здесь, что-то тестить лень) *Стёр всё нафиг, подумал*. Скорее всего Вы в иде эти мувиклипы рисовали. Поэтому достаточно склонировать родителя так: А затем рекурсивно пройти по всем его детям и поставить им кад, примерно какой должен быть у другого. Код писал тут - кривой, наверно нерабочий, но мысль показал. var mc:MovieClip=displayObject as MovieClip; mc.gotoAndStop(super.currentframe); setFrames(this, mc); ... private function setFrames(mc1:DisplayObjectContainer, mc2:DisplayObjectContainer){ if (mc1 is MovieClip) (mc2 as MovieClip).gotoAndStop((mc1 as MovieClip).currentframe); var i:int=mc1.numChildren; while (i--){ var child:DisplayObject = mc1.getChildAt(i); var mc:MovieClip=child as MovieClip; if (mc){ (mc2.getChildAt(i) as MovieClip).gotoAndStop(mc.currentframe). } var doc:Sprite=child as DisplayObjectContainer; if (doc) setFrames(this, doc); } }
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Да, во всем виноват ООП, подлец такой, а.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
AS3 препятствует реализации неправильной архитектуры. Имеет смысл "расслабиться и попытаться получить удовольствие". |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
mikhailk, код в кадрах и анонимные функции тогда - правильная архитектура?
А та, где применяется инстанцирование мувиков и глубокое клонирование их - неправильная? AS3 не тот язык, который особо препятствует выстрелу себе в ногу. И у него есть недостатки. Хотя тут проблема не языка и концепции ООП, а реализации некоторых встроенных штук. Ну нет некоторых фич так нет. Можно самому написать. Можно обидеться и уйти на с++, жабу и юнити. Увидеть, насколько мы тут зажрались с этим нашим флэшом. Нет, видите ли, функций копирования мувика =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|