Цитата:
Сообщение от silin
клонирование в геттере, ты же сам написал:
|
Похоже ещё и в сеттере.
@iNils: просто странно это... раньше как-то не задумывался, делал defaultTextFormat и присваивал текст - ок было. А тут на тебе - appendText не работает.
Тут провел тестов несколько, разобрался почему. Сеттер text`а проверяет "бесстильные" символы и устанавливает им defaultTextFormat

Код AS3:
var field:TextField=new TextField();
var format:TextFormat=new TextFormat(null,15,0xFF0000);
field.defaultTextFormat=format;
field.text="Hello!";
super.addChild(field);
format.color=0x00FF00;
field.defaultTextFormat=format;
field.appendText(" world...");
Заменив appendText на += мы дёрнем сеттер, из за чего все символы станут зелеными. (стрикт мод офф, конечно же)
Теперь мы можем проверить создаётся клон в сеттере или нет:

Код AS3:
var field:TextField=new TextField();
var format:TextFormat=new TextFormat(null,15,0xFF0000);
field.defaultTextFormat=format;
field.text="Hello!";
super.addChild(field);
format.color=0x00FF00;
field.defaultTextFormat=format; //убрать
field.text+="world";
Если не убирать - текст зеленый. Если убрать - текст красный.
Резюме: клон TextFormat`а создаётся как в сеттере, так и в геттере.