PDA

Просмотр полной версии : копирование содержимого из клипа в клип


zafod
06.08.2007, 11:23
такой вопрос.

for( var i = 0; i < 9; i++ )
{
array[i] = array[i+1];
}
array[10] = newValue;

можно ли подобное проделать с клипами. Не в прямом смысле как в коде, это мы набахаем кучу ссылок, а содержимое одного клипа передать во второй с сохранением всех параметров( положение вложенных клипов, альфа и т.п.) ???

Kikasso
06.08.2007, 11:53
такой вопрос.

for( var i = 0; i < 9; i++ )
{
array[i] = array[i+1];
}
array[10] = newValue;

Просто на всякий случай, эта операция по- другому проделывается:

array.shift();
array.push(newValue);

zafod
06.08.2007, 11:59
вот и я про тоже - shift для массива movieClip

Kikasso
06.08.2007, 12:08
MovieClip - это не массив. Напишите функцию, сохраняющию нужные вам данные. Например так:
function packData(mc:MovieClip):Object{
var o:Object = new Object();
o._x = mc._x;
///
return o;
}
Ну и функцию, которая распакует. Имхо самый простой вариант.
Вам же надо еще какие-то действия проделать?

zafod
06.08.2007, 12:20
а нельзя draw из одного клипа в другой? как в битмапДату же клип можно просто нарисовать. Может duplicateMovieClip ???

Kikasso
06.08.2007, 14:22
Отрисовать - можно. А про duplicateMovieClip лучше забыть.

zafod
06.08.2007, 15:10
почему?

silin
06.08.2007, 15:22
не то чтоб совсем забыть, такая конструкция, например, работает (только мутно и плохо управляемо все это)
var mcArr:Array=[mc1,mc2,mc3];

function shiftMC(arr:Array,pushMC:MovieClip){
for(var i =0;i<arr.length;i++){
var mc:MovieClip=arr[i];
if(i<arr.length-1){
mc=arr[i+1].duplicateMovieClip(mc._name,mc.getDepth(),{_x:mc._x,_y:mc._y});
}else{
mc.swapDepths(pushMC);
mc.removeMovieClip()
mc=pushMC;
}
}
}

shiftMC(mcArr,attachMovie("mc4","mc4",getNextHighestDepth()));

zafod
06.08.2007, 15:54
а тогда такой вопрос:
сдвиг на 12 клипов ( всего их 144 - 12х12 )
что проще и быстрее - переаттачить в 144 мувиков новые данные или последовательно в предудущий дублировать последующий, а 12 последних переаттачить?

silin
06.08.2007, 15:57
имхо ператтачить все..
зы: что мешает проверить?

Kikasso
06.08.2007, 21:15
Логичнее просто мувики подвинуть, лишние убить, недостающие приаттачить.

zafod
07.08.2007, 08:00
я так и сделал, но тормозит все равно чертофски

zafod
07.08.2007, 16:02
все оказалось просто
предыдущиму мувику ипоследующему менять имена и сдвигать, таким образом у последнего мувика будет имя первого - его и надо поместить в начало сцены