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

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

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

Регистрация: Nov 2009
Сообщений: 13
По умолчанию как сделать копию мувиклипа

Здравствуйте!

Я загружаю swf-ки и засовываю их в массив, этот массив играет роль библиотеки мувиков. То есть мне нужно произвольное количество раз копировать мувик из этого самого массива.
А передачи значения во флеше на сколько я знаю нет... Как выйти из такого положения?

Заранее спасибо!

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

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
окакой передаче данных вы говорите?
а насчет копирования есть такой метод getDefenitionByName

Старый 20.11.2009, 18:52
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Код AS3:
ApplicationDomain#getDefinition(name:String);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.11.2009, 20:03
yzhastik вне форума Посмотреть профиль Отправить личное сообщение для yzhastik Найти все сообщения от yzhastik
  № 4  
Ответить с цитированием
yzhastik

Регистрация: Nov 2009
Сообщений: 13
ну передача в функцию по ссылке\значению, имелось ввиду то, что во flash нет передачи по значению, а есть только по ссылке

чтото я плохо понял про getDefenitionByName и то, как он может мне пригодится... я ведь говорю о копировании мувиков (просто мувиков без кода внутри)

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
реализуйте свой метод копирования
Код AS3:
someFunc(yourClip.clone());
__________________
я могу стать всем, если только захочу

Старый 21.11.2009, 09:38
yzhastik вне форума Посмотреть профиль Отправить личное сообщение для yzhastik Найти все сообщения от yzhastik
  № 6  
Ответить с цитированием
yzhastik

Регистрация: Nov 2009
Сообщений: 13
тогда как его реализовать, можно пример пожалуйсто?
сам я не догадаюсь просто, как можно скопировать мувик...


Последний раз редактировалось yzhastik; 21.11.2009 в 09:40.
Старый 21.11.2009, 11:48
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 7  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
если каждой свфке задать свой уникальный класс, то
Код AS3:
var newSWF:MovieClip = (new (loadedSWF as Object).constructor) as MovieClip;

Старый 21.11.2009, 13:23
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 8  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Тогда уж легче задать в этой swf-ке произвольное кол-во классов, и получать их экземпляры с помощью
Код AS3:
var InstClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition('имя_класса') as Class;
var inst:* = null;
if(InstClass){
	inst = new InstClass();
}else trace('Cannot resolve class');
Добавлено через 12 минут
Цитата:
Сообщение от yzhastik Посмотреть сообщение
тогда как его реализовать, можно пример пожалуйсто?
сам я не догадаюсь просто, как можно скопировать мувик...
Да, кстати, yzhastik, если вам нужно много раз получить один и тот же мувик, то вам этот метод как раз подойдёт.

Здесь loader – это экземпляр Loader, которым вы грузили swf-библиотеку. Также, если вы знаете базовый класс, то экземпляр лучше типизировать. Пусть, например, мы знаем, что мы храним в либе мувики либо спрайты (т.е. наследники DisplayObject). Тогда лучше будет написать

Код AS3:
var InstClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition('имя_класса') as Class;
var inst:DisplayObject = null;
if(InstClass){
	inst = new InstClass() as DisplayObject;
}else trace('Cannot resolve class');
Тогда в случае, если объявление такого класса содержится в библиотеке, и он действительно имеет в качестве базового класса класс DisplayObject, то в переменной inst у вас окажется нужный вам экземпляр. В противном случае inst будет равна null.

Метод же clone() раелизовывать нужно тогда, когда требуется скопировать объект вместе с его состоянием, то есть учитывая изменения, произошедшие в нём с момента создания.

Старый 21.11.2009, 17:06
yzhastik вне форума Посмотреть профиль Отправить личное сообщение для yzhastik Найти все сообщения от yzhastik
  № 9  
Ответить с цитированием
yzhastik

Регистрация: Nov 2009
Сообщений: 13
а можно ли проделать все тоже самое только с учетом того, что я сначала загружаю мувики, затем засовываю их в массив, а уже потом (из массива) мне нужно скопировать экземпляры этих мувиков?

метод не подходит только изза того, что мувики я загружаю последовательно, и в лоадере останется инфа только о последнем...

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

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
конечно можно, вы можете в массив запихивать экземпляры класса Class, хотя я вот точно не знаю, будут ли они доступны после того как вы сделаете лоадеру unload

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

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

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


 


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


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