|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
|
duplicateMovieClip() для клипа с содержимым, созданным программно
Создаю я клип. Помещаю в него содержимое при помощи attachMovie. Потом пытаюсь дублировать этот клип при помощи duplicateMovieClip. И что я вижу: клип продублировался, только вот без его содержимого.
Если описал не очень понятно, то вот пример: Так как дублировать клип вместе с содержимым, если это содержимое создано программно? Это вообще реально? Последний раз редактировалось Muchacho; 28.11.2005 в 13:54. |
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
помоему только в 8ке, и то неверен, но в раньших точно нельзя никак :-(
|
|
|||||
Регистрация: May 2004
Адрес: Москва
Сообщений: 76
|
Очевидно DuplicateMovieClip - всех внутренних приатачченных элементов =)
__________________
Улыбка - понятие растяжимое... |
|
|||||
Регистрация: 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); |
|
|||||
Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
|
Штрек, интересное дело, во первых, я не вижу что б клип дублировался, а во вторых, если я в конце твоего скрипта ставлю:
trace(this.clip1.vlog_cl._x+" "+this.clip2.vlog_cl._x); то выводится вообще:"undefined 200" |
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
не парься, 7ка не позваляет дублировать подгруженные клипы :-)
|
|
|||||
такое решение - незнаю будет ли работать(не проверял но думаю что будет работать), но
во первых когда атачим мувики делаем так _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]; } //-------------- } } } надеюсь мой полет мысли понятен? я думаю это можно и более красиво реализовать %)) ну нету времени на большее, если кто сделает то киньте код здесь %)) |
|
|||||
Цитата:
|
|
|||||
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Цитата:
Нет слов. Ну добавь ещё пару параметров - 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); |
|
|||||
Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
|
Штрек, разницы нет. В твоем коде ничего не дублируется. Если я в конце твоего кода вывожу:
trace(this.clip1.vlog_cl._x+" "+this.clip2.vlog_cl._x); То выводится точно так же: "undefined 300" Код от __i пока ещё не проверял |
Часовой пояс GMT +4, время: 04:18. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|