Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 04.01.2011, 12:29
kotbuterbrod вне форума Посмотреть профиль Отправить личное сообщение для kotbuterbrod Найти все сообщения от kotbuterbrod
  № 11  
kotbuterbrod

Регистрация: Jan 2011
Сообщений: 27
НЕТ. duplicate дает возврат на 1 кадр.

Старый 04.01.2011, 12:43
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 12  
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Как вариант - сделать BitmapData, посадить её в кучу разных Bitmap (и так бы сделал инстанцирование(копирование)) и по ENTER_FRAME BitmapData перерисовывал вот при помощи BitmapData draw.
Просто во флэше есть вот такой DisplayList. Не оч. вот местами ООП-шный и дружащий с показыванием одного и того же в разных местах. Если будете всё рисовать без addChild, каждому обьекту там по методу render, который рисует в рут, то проблем отрисовать обьект в разных местах не будет. Можно даже сделать свой DisplayList, в котором разрешить инстанцирование, где addChild не будет убирать из предыдущего контейнера (подумайте, что с parent делать при этом) =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 04.01.2011 в 12:48.
Старый 04.01.2011, 12:54
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 13  
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Офф: только сейчас внимательно прочитал название топика

Старый 04.01.2011, 12:57
kotbuterbrod вне форума Посмотреть профиль Отправить личное сообщение для kotbuterbrod Найти все сообщения от kotbuterbrod
  № 14  
kotbuterbrod

Регистрация: Jan 2011
Сообщений: 27
Извиняюсь просто писал с нетбука.... неудобно.

Старый 04.01.2011, 15:11
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 15  
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
а правильность или неправильность это вопрос второй если у меня "неправильный код" состоит из трех строчек а "правильный" из семи и в выполнении между ними нет разницы, то зачем платить больше ? Спасибо за советы, просто я думал, что в ООП это решается разом. Я тогда уж лучше bitmapData использую
В ООП это решается разом. Только Вы наверно не совсем понимаете что такое ООП. Кстати говоря, использование BitmapData без ООП впринципе невозможно.

Старый 04.01.2011, 22:12
kotbuterbrod вне форума Посмотреть профиль Отправить личное сообщение для kotbuterbrod Найти все сообщения от kotbuterbrod
  № 16  
kotbuterbrod

Регистрация: Jan 2011
Сообщений: 27
Неправильно выразился прошу прощения.

Добавлено через 6 минут
Да просто когда смотришь на парадигму ООП, ну так все прекрасно создаешь классы, экземпляры и кажется ну как же все классно, но вот элементарнейшая задача и я не могу сделать клон экземпляра что бы просто отобразить в нескольких местах....

Старый 04.01.2011, 23:31
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 17  
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Классы должны имплементить IClonable. Хотя, думаю оно Вам мало надо.

Классы должны иметь метод clone. При клонировании класс клонирует себя полностью, а у дочерних элементов тоже вызывает clone, которые в свою очередь тоже вызывают clone. Достучаться до визуальных объектов можно с помощью getChildAt.
В итоге всё клонирование я бы сделал примерно так (код пишу здесь, что-то тестить лень)
*Стёр всё нафиг, подумал*.
Скорее всего Вы в иде эти мувиклипы рисовали. Поэтому достаточно склонировать родителя так:
Код AS3:
var displayObject:DisplayObject = new (Object(this).constructor)();
А затем рекурсивно пройти по всем его детям и поставить им кад, примерно какой должен быть у другого.
Код писал тут - кривой, наверно нерабочий, но мысль показал.
Код AS3:
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);
}
}

Старый 04.01.2011, 23:47
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 18  
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Да, во всем виноват ООП, подлец такой, а.

Старый 05.01.2011, 00:07
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 19  
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
огда смотришь на парадигму ООП, ну так все прекрасно создаешь классы, экземпляры и кажется ну как же все классно, но вот элементарнейшая задача и я не могу сделать клон экземпляра что бы просто отобразить в нескольких местах....
Все в порядке, на самом деле.
AS3 препятствует реализации неправильной архитектуры.
Имеет смысл "расслабиться и попытаться получить удовольствие".

Старый 05.01.2011, 00:37
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 20  
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
mikhailk, код в кадрах и анонимные функции тогда - правильная архитектура?
А та, где применяется инстанцирование мувиков и глубокое клонирование их - неправильная?
AS3 не тот язык, который особо препятствует выстрелу себе в ногу. И у него есть недостатки.
Хотя тут проблема не языка и концепции ООП, а реализации некоторых встроенных штук. Ну нет некоторых фич так нет. Можно самому написать. Можно обидеться и уйти на с++, жабу и юнити. Увидеть, насколько мы тут зажрались с этим нашим флэшом. Нет, видите ли, функций копирования мувика =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 00:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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