Просмотр полной версии : как копировать объект TextFormat?
Mnilionic
07.05.2008, 17:20
...через обычное "=" присваивается ссылка
Можно ли сделать копию без цикла по всем свойствам?
TextFormat.prototype.copy = function ()
{
var nOBJ = new TextFormat();
for (var i in this) nOBJ[i] = this[i];
return nOBJ;
}
TF = new TextFormat();
TF.font = "Arial";
TF2 = TF.copy();
TF2.color = 0xFF0000;
TXT1.setTextFormat(TF);
TXT2.setTextFormat(TF2);
Mnilionic
07.05.2008, 17:42
спасибо для TextFormat сработает
это расширения для Обжектов в целом.
а если свойством объекта является тоже объект? ;)
+
вижу :)
Mnilionic
07.05.2008, 20:27
Если указать тип объекта появляется ошибка, что мол нет такого метода.
При такой работе вообще нельзя указывать тип?
TF:TextFormat = new TextFormat();
TF.font = "Arial";
TF2 = TF.copy(); // !
function getCopy(t:TextFormat):TextFormat {
var newTF:TextFormat = new TextFormat();
for (var i in t) newTF[i] = t[i];
return newTF;
}
var TF:TextFormat = new TextFormat();
TF.font = "Arial";
var TF2:TextFormat = getCopy(TF);
trace(TF2.font);
Mnilionic
08.05.2008, 15:02
речь именно о prototype.
В том то и дело: укажешь тип - забудь о прототипах. Если хоца (нужно) указывать, то как предложил тов Obi.
chingachgoog
08.05.2008, 16:05
Компилятор всегда можно надуть, если жить нельзя без типизации :)
var nf:TextFormat=new TextFormat()
TextFormat.prototype.s=function(){
trace("!")
}
nf['s'] ()
Mnilionic
08.05.2008, 21:08
Vertax, понятно.
chingachgoog, жить можно, просто не сразу воткнул почему выпадала ошибка :)
с массивом забавно.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.