让默认TextField更清晰地显示中文
今天在开发项目的时候,老大对一个问题感到很苦恼,那就是对于两个动态文本框,一个是用代码new出来的,另一个是在Flash Professional里面拖拽上去的,它们显示出来的中文一个模糊、一个清晰,不知道怎么办,我先给列位看看效果对比:
上面那个是fla里面直接从工具栏里创建的文本,下面那个是用AS代码new出来的TextField。
为了搞定这个问题,我对这两个TextField对象的属性进行了调试监控,发现一点不同之处,那就是它们的defaultTextformat中使用的字体不一样,从fla里面创建的TextField的defaultTextformat中使用的字体是“SimSun”,而使用AS代码new出来的TextField的defaultTextformat中使用的字体是"Times New Roman"。好了,发现问题的所在之后就容易解决了。直接改变后者的defaultTextformat就好了:
var tf:TextField = new TextField();
tf.defaultTextFormat = new TextFormat("SimSun", 12);
经过此问题的解决,我们发现,Flash中隐藏的设备字体“SimSun”字体是在不嵌入其他中文字体时对中文显示支持最好的字体(起码我这么觉得),列位以后在开发游戏中注意一下这个细节