Pregunta

¿Cómo rotar un campo de texto en ActionScript 3.0? Tan pronto como cambio la propiedad de rotación del campo de texto, que no se muestra.

por ejemplo:

var txtFld:TextField = new TextField();
txtFld.x = 100;
txtFld.y = 100;
txtFld.width = 300;
txtFld.height = 300;
txtFld.text = "Test String";
txtFld.rotation = 90;
addChild(txtFld);
¿Fue útil?

Solución

Algunos más información de soporte Christophe Herreman: ActionScript - Rotación de texto

Otros consejos

Con el fin de ver el texto girado, que tendrá que incorporar la fuente.

es una alternativa, para copiar el campo de texto en un BitmapData usando BitmapData::draw y luego crear un Bitmap que contiene el resultado, y añadiendo que uno de la lista de visualización, en lugar de la original de TextField ...

Esto tiene la gran ventaja de que no es necesario incorporar la fuente, lo que reduce tamaño del archivo SWF ... otoh, perderá toda la interactividad del TextField`, y el swf se necesita más memoria RAM cuando se juega , pero este último no es demasiado significativa ...

para que el texto parece que van Bitmap::smoothing suave, a true ... También, ayuda, si se procesa la imagen en una resolución más alta ... pseudo-anti-aliasing, por así decirlo ... la hora de elaborar el texto , pasar una Matrix ampliadas por el factor 2 y reducir la amplitud del Bitmap por el factor 2 ... de esa manera que se verá mejor ...

greetz

back2dos

Sólo quería añadir mi experiencia a esta pregunta. Yo también quería girar el texto.

Al principio, incrustado la fuente utilizando sólo ActionScript.

Embed(source="C:\\WINDOWS\\Fonts\\CALIBRI.TTF", fontFamily="Calibri")]
public static const FONT_CALIBRI:Class;
...
var font:Font = new Global.FONT_CALIBRI as Font;
//Font.registerFont(Global.FONT_CALIBRI); //I tried various other things...

Sin embargo, cada vez que puse embedFonts = true, el texto desaparecería. Finalmente me rendí y rel="nofollow"> el uso de Flash.

var font:Font = new FontClass as Font; //FontClass was exported from Flash IDE

Finalmente funcionó.

var textFormat:TextFormat = new TextFormat(font.fontName);

textField = new TextField();
textField.defaultTextFormat = textFormat; //must be before setting the text
textField.embedFonts = true; //needed to rotate fonts
textField.autoSize = TextFieldAutoSize.CENTER;
textField.antiAliasType = flash.text.AntiAliasType.ADVANCED;
textField.text = ("TESTING")
this.addChild(textField);

Oh, cómo detesto usar el IDE de Flash para cualquier cosa. Si alguien era capaz de hacer esto sin el uso de Flash, por favor haga parte!

Esto es lo que funcionó para mí.

En CS5, que necesitaba cambiar una configuración en el cuadro de diálogo Incorporación de fuentes para que funcione.

Para mostrar el diálogo de la incrustación de fuentes, o bien haga clic en el botón Insertar en el panel Carácter, o haga doble clic en un símbolo de fuente en la biblioteca.

A continuación, seleccione la fuente que desea ser capaz de girar y haga clic en la ficha ActionScript.

Por último, comprobar la exportación de casilla Actionscript. Deje los valores predeterminados y haga clic en OK.

A continuación se muestra el código que he utilizado:

textField = new TextField();
textField.autoSize = TextFieldAutoSize.LEFT;
textField.embedFonts = true;

format.font = "Arial"; // Or whatever the name of your font is in the embed dialog
format.size = 24;
textField.defaultTextFormat = format;

addChild(textField);

Si a continuación, a continuación, aplicar la rotación a ese campo a través de AS, sigo sin ver la fuente.

var txtFld:TextField = new TextField();
txtFld.x = 100;
txtFld.y = 100;
txtFld.width = 300;
txtFld.height = 300;
txtFld.text = "Test String";

txtFld.embedFonts = true; // to embed the font ... now roation works

txtFld.rotation = 90;
addChild(txtFld);
scroll top