Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   TLFTextField и его width (http://www.flasher.ru/forum/showthread.php?t=212291)

Xaider 15.01.2016 12:54

TLFTextField и его width
 
Друзья, помогайте..
Свойство width для Sprite c TLFTextField определяется не своевременно, как решить?

Код AS3:

import fl.text.TLFTextField;
import flash.display.Sprite;
 
var txt:TLFTextField = new TLFTextField();
var mc:Sprite = new Sprite();
mc.addChild(txt);
addChild(mc);
 
txt.text = "fsdfsdfsd";
trace(mc.width); //0
//если засветить свойство width у текста, то он чудесным образом его сразу видит. Но такой вариант подходит только для дебажных плееров, что совсем не вариант
trace(txt.width); //100
trace(mc.width); //100

Как выйти из ситуации и получить width сразу и актуальный?

KiL33 15.01.2016 13:19

эту строчку txt.text = "fsdfsdfsd";
перед добавление txt в mc

Xaider 15.01.2016 14:00

KiL33
Не пойдет, текст динамический и меняется постоянно, при каждом изменении нужно мониторить какого размера стал контейнер с текстом и корректировать его размеры для встраивания в определенную ограниченную область

Добавлено через 8 минут
Вот такой костыль кстати работает. Другого ничего на ум не пришло

Код AS3:

import fl.text.TLFTextField;
import flash.display.Sprite;
 
var txt:TLFTextField = new TLFTextField();
var mc:Sprite = new Sprite();
mc.addChild(txt);
addChild(mc);
 
txt.text = "fsdfsdfsd";
txt.width;
trace(mc.width); //100


KiL33 15.01.2016 14:36

Может так
Код AS3:

txt.autoSize = "left"
txt.addEventListener(Event.CHANGE, change);
 
function change(e:Event):void {
        trace(mc.width);
 
}

Правда я не могу сказать, насколько это лучше вашего варианта)


Часовой пояс GMT +4, время: 01:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.