Я поставил TLFTextField на сцену, но не могу получить к нему доступ через код - PullRequest
3 голосов
/ 09 сентября 2010

Я попытался попробовать текст TLF, потому что это по умолчанию в Flash CS 5, но я не могу выполнить простейшую задачу, изменить ее значение. Это работает с классическим текстовым полем, но не с TLF:

import flash.display.MovieClip;

public class CumpleTiempos extends MovieClip
{

    public var t:TLFTextField;
    public function CumpleTiempos()
    {

        myText.text = "I'm a classic text"
    }
}

Но совсем не с текстом TLF. Скажите, пожалуйста, как это делается, важно отметить, что текст TLF должен создаваться с помощью Flash IDE, а не кода.

Спасибо

Ответы [ 2 ]

3 голосов
/ 06 октября 2010

Объекты TLFTextField недоступны для использования в ActionScript до тех пор, пока они не будут добавлены на сцену.

Пример (предполагается, что экземпляр TLFTextField на сцене с именем «text»):

package  {
    import flash.display.*;
    import flash.events.*;

    public class Text extends Sprite {

        public function Text() {
            trace(text);

            this.addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
        }

        private function _onAddedToStage($e:Event):void {
            trace(text);

            this.removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
        }

    }

}

Выход:

null
[object TLFTextField]
0 голосов
/ 10 сентября 2010
import fl.text.TLFTextField;
     import flashx.textLayout.formats.TextLayoutFormat;
     import flashx.textLayout.elements.TextFlow;

     var myTLFTextField:TLFTextField = new TLFTextField();
     addChild(myTLFTextField); 
     myTLFTextField.x = 10;
     myTLFTextField.y = 10;
     myTLFTextField.width = 200
     myTLFTextField.height = 100;
     myTLFTextField.text = "This is my text";

     var myFormat:TextLayoutFormat = new TextLayoutFormat();
     myFormat.textIndent = 8;
     myFormat.color = 0x336633;
     myFormat.fontFamily = "Arial, Helvetica, _sans";
     myFormat.fontSize = 24;

     var myTextFlow:TextFlow = myTLFTextField.textFlow;
     myTextFlow.hostFormat = myFormat;
     myTextFlow.flowComposer.updateAllControllers();

через

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...