Utilización de texto estático

El texto estático sólo se crea mediante la herramienta de edición Flash. No se puede crear texto estático mediante programación con ActionScript. El texto estático resulta útil si el texto es muy breve y no va a cambiar (a diferencia del texto dinámico). Se puede considerar que el texto estático es un tipo de elemento gráfico, como un círculo o un cuadrado, dibujado en el escenario en la herramienta de edición Flash. Aunque el texto estático tiene más limitaciones que el texto dinámico, ActionScript 3.0 ofrece la capacidad de leer los valores de propiedades de texto estático mediante la clase flash.text.StaticText. Además, se puede utilizar la clase flash.text.TextSnapshot para leer valores del texto estático.

Subtemas

Acceso a campos de texto estático mediante la clase StaticText
Utilización de la clase TextSnapshot

Acceso a campos de texto estático mediante la clase StaticText

Generalmente, se usa la clase flash.text.StaticText en el panel Acciones de la herramienta de edición Flash para interactuar con una instancia de texto estático colocada en el escenario. También se puede trabajar en archivos de ActionScript que interactúen con un archivo SWF que contenga texto estático. En cualquier caso, no se puede crear una instancia de texto estático mediante programación. El texto estático se crea en la herramienta de edición Flash CS3.

Para crear una referencia a un campo de texto estático existente en ActionScript 3.0, puede recorrer los elementos de la lista de visualización y asignar una variable. Por ejemplo:

for (var i = 0; i < this.numChildren; i++) {
    var displayitem:DisplayObject = this.getChildAt(i);
    if (displayitem instanceof StaticText) {
        trace("a static text field is item " + i + " on the display list");
        var myFieldLabel:StaticText = StaticText(displayitem);
        trace("and contains the text: " + myFieldLabel.text);
    }
}

Una vez creada una referencia a un campo de texto estático, se pueden utilizar las propiedades del campo en ActionScript 3.0. El código siguiente está asociado a un fotograma en la línea de tiempo y supone que hay una variable denominada myFieldLabel asignada a una referencia de texto estática. En el ejemplo, se coloca un campo de texto dinámico denominado myField con respecto a los valores x e y de myFieldLabel y se vuelve a mostrar el valor de myFieldLabel.

var myField:TextField = new TextField();
addChild(myField);
myField.x = myFieldLabel.x;
myField.y = myFieldLabel.y + 20;
myField.autoSize = TextFieldAutoSize.LEFT;
myField.text = "and " + myFieldLabel.text

Utilización de la clase TextSnapshot

Si se desea trabajar mediante programación con una instancia de texto estático existente, se puede utilizar la clase flash.text.TextSnapshot para utilizar la propiedad textSnapshot de un objeto flash.display.DisplayObjectContainer. Es decir, se crea una instancia de TextSnapshot a partir de la propiedadDisplayObjectContainer.textSnapshot. Después se pueden aplicar métodos a esa instancia para recuperar valores o seleccionar partes del texto estático.

Por ejemplo, coloque en el escenario un campo de texto estático que contenga el texto "TextSnapshot Example". Añada el siguiente código ActionScript al fotograma 1 de la línea de tiempo:

var mySnap:TextSnapshot = this.getTextSnapshot();
var count:Number = mySnap.getCount();
mySnap.setSelected(0, 4, true); 
mySnap.setSelected(1, 2, false); 
var myText:String = mySnap.getSelectedText(false); 
trace(myText); 

La clase TextSnapshot resulta útil para obtener el texto de campos de texto estático de un archivo SWF cargado cuando se desea utilizar el texto como un valor en otra parte de una aplicación.


Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000235.html