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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.02.2013, 16:52
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 1  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
По умолчанию При копировании мувиклипа пропадает код из вложенных в него мувиклипов

Есть мувиклип, в него вложены другие мувиклипы.
Внутри вложенных мувиклипов есть определенный код.

Копирую мувиклип следующим образом:
Код AS3:
new movie.constructor
В результате копирования код из кадров исчезает.
Некто не знает как можно скопировать без потери кода?

Старый 07.02.2013, 17:54
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 2  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
1. Не пишите в кадрах
2. Используйте public
__________________
return this...

Старый 07.02.2013, 22:38
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 3  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
После операции new должен идти конструктор нового класса, то есть, во-первых, должен быть полноценный класс, а во вторых, конструктор - это все таки метод, и заканчиваться он должен ()
Код AS3:
var myNewMovie:MyMovieClass = new MyMovieClass();
Решение - создать отдельный класс на каждый вложенный мувик.
Насколько я знаю, во Flash Pro IDE не работает Ваш метод решения проблемы..

Старый 08.02.2013, 11:22
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 4  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
AlexCooper public в коде кадров писать нельзя
KumoKairo, приписка "()" не помогла. Типизация через класс тоже не вариант, тк загружаемый ролик является MovieClip. Создавать класс на каждый мувик тоже не вариант, слишком много мувиков

Старый 08.02.2013, 14:17
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 5  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Это вы загруженные loader'ом или urlloader'ом мувики пытаетесь так клонировать?
__________________
мой пустой блог

Старый 08.02.2013, 16:19
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 6  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Конечно приписка не поможет, реализации конструктора же нет) Эта запись относилась к полноценному созданию нового объекта, которое было описано строчкой ниже

То, что загружаемый ролик является MovieClip совершенно не мешает создать его собственный класс
Нужно просто унаследовать этот класс MovieClip и дело в шляпе.

Оператор new - это не оператор создания "нового" мувиклипа, а оператор выделения памяти под объект указанного класса.

И неужели вложенные мувики настолько уникальны, что создавать класс на каждый будет такой большой работой?

Старый 08.02.2013, 16:34
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 7  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
iflamberg, да именно так

KumoKairo вобщем да, все весьма уникально

Старый 08.02.2013, 16:44
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 8  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
red_penguin, ну один раз вам код написать терпения же хватило)
Все, что требуется сделать сейчас - разделить вложенные мувиклипы на похоже и перетащить уже написанный вами код в .as классы,
причем, Flash Pro позволяет напрямую задавать собственный класс каждого мувика прямо через свойства этого самого мувика в библиотеке.

А насчет уникальности - можно поподробнее тогда? Что там за мувики, что реализуют и как работают?
Так проще может объяснить получится

Старый 08.02.2013, 16:52
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 9  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
В общем клонировать загруженный мувик таким образом, через .constuctor очень не корректно, как я понял. Там возникают куча боков. Особенно, если мувики из разных контекстов(из разных доменов загружены). Намного лучше, использовать от "старого" лоадера .loaderInfo.bytes - это ByteArray где хранится весь ваш загруженный мувик и загрузить мувик заново.
Код AS3:
var newLoader:Loader = Loader();
newLoader.loadBytes (ByteArray(alreadyLoadedLoader.loaderInfo.bytes));
Кстати, если просто создать новый лоадер и опять загрузить в него мувик по ссылке, то он ничего качать по сети не будет, возьмет из кеша.
__________________
мой пустой блог

Старый 09.02.2013, 10:58
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 10  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
KumoKairo, есть куча монстров. Каждый монстр состоит из N частей. Сначала загружается монстр, потом загружается куча частей. И нужно каждую вещь впихнуть в определенную часть этого монстра. Сначала делали просто через указывание instance name, но тут беда, что у монстра около 15 сложных анимаций а во флэше нельзя им сразу всем указать instance name. Поэтому пришли к выводу, что проще лезть внутрь каждой части и писать там что-то вроде "id = рука". Но вот возникла такая проблема.
Сейчас опять наверно вернемся к instance name, они не пропадают при моем способе копирования объектов.

iflamberg. Спасибо за более корректный способ копирования. А вот насчет кэширования.. Да, как правило кэширует, но почему-то не всегда. Особенно в опере. Не раз с этим сталкивались, а хочется максимальной скорости.

Добавлено через 51 минуту
iflamberg, а кстати какие именно могут возникнуть проблемы при копировании через .constructor?
У меня есть проект, в котором во всю используется этот способ и флэшки как раз в разных доменах, ошибок не наблюдал.

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

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

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


 


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


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