Асинхронный wordWrap
Заметил странную вещь. Если посмотреть, что выведет нам код, который написан ниже
public function main():void { var textField:TextField; addChild(textField = new TextField()); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; textField.antiAliasType = AntiAliasType.ADVANCED; textField.autoSize = TextFieldAutoSize.LEFT; textField.text = 'Если ты привлекаешь в игру новых пользователей, то ты за это можешь получить золото и потратить его на свое усмотрение в игре. Пригласить игрока можно с помощью электронной почты или через клик на REF-ссылку.Твоя персональная REF-ссылка:'; textField.width = 300; textField.wordWrap = true; //Trace.WriteLine('textField.textHeight = ' + textField.textHeight); Trace.WriteLine('before textField.numLines = ' + textField.numLines); setTimeout(test, 1); Trace.WriteLine('after textField.numLines = ' + textField.numLines); } private function test():void { Trace.WriteLine('setTimeout textField.numLines = ' + textField.numLines); }
before textField.numLines = 1
after textField.numLines = 1
setTimeout textField.numLines = 5
Убираем коммент, но ставим его рядом с setTimeout
public function main():void { var textField:TextField; addChild(textField = new TextField()); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; textField.antiAliasType = AntiAliasType.ADVANCED; textField.autoSize = TextFieldAutoSize.LEFT; textField.text = 'Если ты привлекаешь в игру новых пользователей, то ты за это можешь получить золото и потратить его на свое усмотрение в игре. Пригласить игрока можно с помощью электронной почты или через клик на REF-ссылку.Твоя персональная REF-ссылка:'; textField.width = 300; textField.wordWrap = true; Trace.WriteLine('textField.textHeight = ' + textField.textHeight); Trace.WriteLine('before textField.numLines = ' + textField.numLines); //setTimeout(test, 1); Trace.WriteLine('after textField.numLines = ' + textField.numLines); } private function test():void { Trace.WriteLine('setTimeout textField.numLines = ' + textField.numLines); }
textField.textHeight = 75
before textField.numLines = 5
after textField.numLines = 5
Вывод: Чтобы получить корректный numLines нужна пауза?
Всего комментариев 1
Комментарии
10.03.2009 20:31 | |
... или, что wordWrap = true надо делать до присвоения текста
|
Последние записи от _Smirnoff
- Память, утечки, профилирование, Garbage Collector (12.01.2010)
- Асинхронный wordWrap (06.03.2009)
- Преобразование трех циклов в один (11.01.2009)
- Совершенный код (15.12.2008)
- Math.floor vs int (15.11.2008)