Actionscript 3 文本格式和文本字段在FlashPlayer外部显示不同
我一直在使用像这样的文本字段为游戏渲染文本。我一直在用FlashDevelop开发,所以SWF是用Flex编译器编译的 我的问题是,当我在浏览器中查看此文本时,它没有以适当的格式显示,而不是使用flashplayer(看起来不错)。不同的屏幕分辨率在如何扭曲浏览器中的文本方面往往有所不同。为什么会这样Actionscript 3 文本格式和文本字段在FlashPlayer外部显示不同,actionscript-3,flashdevelop,Actionscript 3,Flashdevelop,我一直在使用像这样的文本字段为游戏渲染文本。我一直在用FlashDevelop开发,所以SWF是用Flex编译器编译的 我的问题是,当我在浏览器中查看此文本时,它没有以适当的格式显示,而不是使用flashplayer(看起来不错)。不同的屏幕分辨率在如何扭曲浏览器中的文本方面往往有所不同。为什么会这样 var welcomeText:TextField = new TextField(); //formatText creates a TextFormat object, sets thos
var welcomeText:TextField = new TextField();
//formatText creates a TextFormat object, sets those values into TextFormat
//then returns after doing TextField.defaultTextFormat = TextFormatObj;
formatText(welcomeText, 3, 0xFFFFFF, "Courier");
welcomeText.width = 385;
welcomeText.height = 25;
welcomeText.x = 60;
welcomeText.y = 60;
welcomeText.text = "Cogito ergo sum";
试着看一看。我知道我过去在格式化方面遇到过麻烦,所以我设置了一个TextFormat对象,就像你一样,而且我使用
testfield.SetStyle()
指挥也是如此。您可以通过与本例类似的SetStyle(字体系列、颜色、甚至文本格式)设置许多参数
TextFormat textStyle;
// Set properties for textstyle
textField.setStyle("textFormat", textStyle);
希望这能有所帮助。我想,尽可能多地设置它。这很可能是因为您没有嵌入字体。相反,您使用的是系统(或浏览器)可用的Courier字体。虽然这样可以节省文件大小(字体没有打包在SWF中),但它看起来并不总是那么好 为了使用嵌入式字体,您需要做两件事 1。将文本字段的“EmbeddeFonts”设置为true
welcomeText.embedFonts = true;
2。嵌入字体
您可以使用AS3中的元数据嵌入字体文件,如下所示:
[Embed(source="C:\WINDOWS\Fonts\COURIER.TTF", fontFamily="Courier")]
var _courier:String;
myTextFormat.font = _courier;
var _font:Courier_Font = new Courier_Font();
myTextFormat.font = _font.fontName;
注意:您还可以在Flash Professional库中创建字体链接。在库中,选择“新建字体…”,将其命名。完成后,右键单击字体并选择“链接…”给它一个类名(比如“Courier_font”),然后导出为SWC。将其添加到IDE中的类路径中,字体将如下所示:
[Embed(source="C:\WINDOWS\Fonts\COURIER.TTF", fontFamily="Courier")]
var _courier:String;
myTextFormat.font = _courier;
var _font:Courier_Font = new Courier_Font();
myTextFormat.font = _font.fontName;
我很确定这就是问题所在。区别不在于屏幕分辨率或浏览器,而在于操作系统。在Windows上渲染效果良好,但在Mac和Linux中,文本突然出现问题(恢复到某些默认设置)。嵌入flashpro看起来很简单,但是当我使用flashdevelope时,嵌入文本比预期的要复杂。这是另一个在这个网站上被广泛报道的问题。谢谢