![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Доброго времени суток.
Есть объект в некой переменной объекта класса MovieClip. А затем создаются некие объекты класса MovieClip (вобще то просто attachMovie создаются копии _root.pig_mother) и у них должны быть свои meta. Написал Сообразил что это не копия объекта а ссылка на него. Я так понял что для того что бы сделать копию надо создать новый класс и создавать в каждой копии _root.piggy_x.meta свой его экземпляр. Попробовал написать класс. Компилятор сказал, что только из внешнего as разрешит его добавить. Задумался. Помоему, что то принципиально делаю не так... Подскажите пожалуста в какую чторону смотреть... С уважением, Ворон.
__________________
Студия "Ночной народ" | http://nightfolk.net/ |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
o1 = {a:1, b:2, c:3, d:{x:2,y:5} };
function cloneSimpleObj( obj:Object ) : Object{
var o:Object = new Object();
for( var p in obj ) o[p] = obj[p];
return o;
}
function cloneObj( obj:Object ) : Object{
var o:Object = new Object();
for( var p in obj ){
if( typeof(obj[p]) == 'object' ) o[p] = arguments.callee( obj[p] );
else o[p] = obj[p];
}
return o;
}
var o2:Object = cloneObj(o1);
var o3:Object = cloneSimpleObj(o1);
// меняем параметры оригинала
o1.a = 3;
o1.d.x = 22;
//смотрим что с клонами
trace(o2.a); //1
trace(o2.d.x);//2 - осталось прежним, d это клон
trace(o3.a);//1
trace(o3.d.x);//22 - изменилось, потому d это ссылка
Рекомендую все-таки вручную написать функцию для копирования. Может вам один объект надо по ссылке передать, а второй клонировать. А куда смотреть.. В сторону книжного магазина, куда ж теперь без внешних файлов as.. |
|
|||||
|
Разберусь.
Спасибо большое.
__________________
Студия "Ночной народ" | http://nightfolk.net/ |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|