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

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

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

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
По умолчанию duplicateMovieClip() для клипа с содержимым, созданным программно

Создаю я клип. Помещаю в него содержимое при помощи attachMovie. Потом пытаюсь дублировать этот клип при помощи duplicateMovieClip. И что я вижу: клип продублировался, только вот без его содержимого.
Если описал не очень понятно, то вот пример:
Код:
_root.createEmptyMovieClip("clip1", 0);
clip1.attachMovie("Sym", "sym", 2);
clip1.duplicateMovieClip("clip2",3);
trace(clip1._width+" "+clip2._width);
Так как дублировать клип вместе с содержимым, если это содержимое создано программно? Это вообще реально?


Последний раз редактировалось Muchacho; 28.11.2005 в 13:54.
Старый 28.11.2005, 13:30
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 2  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
помоему только в 8ке, и то неверен, но в раньших точно нельзя никак :-(

Старый 29.11.2005, 02:36
Ieshua вне форума Посмотреть профиль Отправить личное сообщение для Ieshua Найти все сообщения от Ieshua
  № 3  
Ответить с цитированием
Ieshua

Регистрация: May 2004
Адрес: Москва
Сообщений: 76
Очевидно DuplicateMovieClip - всех внутренних приатачченных элементов =)
__________________
Улыбка - понятие растяжимое...

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

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Такой вот изврат -

this.createEmptyMovieClip('clip1', 1);
function vl_cl(targ) {
targ.attachMovie('linkage', 'vlog_cl', 1, {_x:200, _y:100});
}
vl_cl(this.clip1);
this.clip1.duplicateMovieClip('clip2', 1);
vl_cl(this.clip2);
trace(this.clip2.vlog_cl._x);

Старый 29.11.2005, 12:07
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 5  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Штрек, интересное дело, во первых, я не вижу что б клип дублировался, а во вторых, если я в конце твоего скрипта ставлю:
trace(this.clip1.vlog_cl._x+" "+this.clip2.vlog_cl._x);
то выводится вообще:"undefined 200"

Старый 29.11.2005, 12:13
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 6  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
не парься, 7ка не позваляет дублировать подгруженные клипы :-)

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
такое решение - незнаю будет ли работать(не проверял но думаю что будет работать), но

во первых когда атачим мувики делаем так

_mc.this.attachMovieClip('linkName','mc',dpth,{_linkagename:'linkName'})
//_linkagename:'linkName' - каждый мувик знает из какого клипа библиотеки он создан.
................
//потом наш код в котором мы атачим
...........

//теперь нужно дублировать наш мувик, мы это делаем так:
this.mc.duplicateMovieClip(mc1,depth);
duplicateContent(mc,mc1);

где функция duplicateContent(); выглядит так
function duplicateContent(_mc:MovieClip,_mc1:MovieClip){
for (i in _mc){
if (_mc[i]=='MovieClip'){
//присоеденяем мувик из библиотеки с настроиками того который копируем
dupl_mc=_mc1.attachMovie(_mc[i].linkName,_mc[i]._name,_mc[i].getDepth())
//--------------и копируем все настройки вложеного мувика ---------
for (j in _mc[i]){
if ((_mc[i][j]=='MovieClip')
duplicateContent(_mc[i][j], dupl_mc[j]) //если есть вложеные мувики то копируем и их, короче полная рекурсия , будем копировать вложеные мувики до опупения ну или до 255 если мне не изменяет память%))
else
dupl_mc[j] = _mc[i][j];
}

//--------------
}
}
}

надеюсь мой полет мысли понятен?

я думаю это можно и более красиво реализовать %)) ну нету времени на большее, если кто сделает то киньте код здесь %))

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Цитата:
Сообщение от motor4ik
не парься, 7ка не позваляет дублировать подгруженные клипы :-)
не в обиду , но 7ка позволяет все, не позволяет лишь низкий полет мысли %)))))

Старый 29.11.2005, 15:39
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 9  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Сообщение от Muchacho
Штрек, интересное дело, во первых, я не вижу что б клип дублировался, а во вторых, если я в конце твоего скрипта ставлю:
trace(this.clip1.vlog_cl._x+" "+this.clip2.vlog_cl._x);
то выводится вообще:"undefined 200"
Грустно всё это...
Нет слов.
Ну добавь ещё пару параметров -
this.createEmptyMovieClip('clip1', 1);
function vl_cl(targ,x,y) {
targ.attachMovie('linkage', 'vlog_cl', 1, {_x:x, _y:y});
}
vl_cl(this.clip1,200,100);
this.clip1.duplicateMovieClip('clip2', 1);
vl_cl(this.clip2,300,200);
trace(this.clip2.vlog_cl._x);
Вложения
Тип файла: zip Новая папка (3).zip (5.6 Кб, 56 просмотров)

Старый 29.11.2005, 19:20
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 10  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Штрек, разницы нет. В твоем коде ничего не дублируется. Если я в конце твоего кода вывожу:

trace(this.clip1.vlog_cl._x+" "+this.clip2.vlog_cl._x);

То выводится точно так же: "undefined 300"


Код от __i пока ещё не проверял

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

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

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


 


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


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