您如何旋转在ActionScript 3.0文本字段?当我改变文本字段的旋转属性,它不会显示。

例如:

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);
有帮助吗?

解决方案

一些更多的信息支持克里斯托夫Herreman:的ActionScript - 旋转文本

其他提示

为了看旋转的文本,你必须嵌入字体。

一种替代是,使用BitmapData然后创建包含结果的BitmapData::draw,并添加到文本字段复制到一个Bitmap一个到显示列表,而不是原来的TextField ...

这有很大的优势,你并不需要嵌入字体,减少了文件大小的SWF ... OTOH,你将失去所有的TextField`的交互性,以及SWF将需要更多的内存玩的时候的,但后者不是太显著...

有关的文字看起来光滑,设置Bitmap::smoothingtrue ......也有帮助,如果你在一个更高的分辨率...伪抗锯齿渲染图像,可以这么说...绘制文本时,路过因子2按比例提高Matrix和因子2按比例缩小Bitmap ...这样,它会看起来更好......

格尔茨

back2dos

我只是想我的经验加入到这个问题。我也想旋转文本。

首先,我嵌入仅使用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...

但每次我设置embedFonts = true时,文字会消失。最后我给在和使用Flash 嵌入的字体。

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

最后,它的工作。

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);

哦,我多么讨厌使用Flash IDE任何东西。如果有人能够做到这一点,而无需使用闪光灯,请你分享!

这是为我工作。

在CS5,我需要改变设置在字体嵌入对话框为它工作。

要显示字体嵌入对话框,可以单击在字符面板嵌入按钮,或者在库中双击一个字体符号。

然后选择你要能够旋转,并单击ActionScript标签的字体。

最后,检查为ActionScript复选框导出。保留默认值,然后单击确定。

下面是我使用的代码:

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);

如果然后然后经由AS应用旋转到该字段,我仍然可以看到的字体。

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top