ActionScript3文本框字体调整一法

  近日在处理项目一个小问题时发现,在AS3 项目中,通过代码方式添加TextField到场

景,无论如何都无法修改字体。反之,在Flash IDE中,直接拖一个TextField之后却可以应

用字体设置。

  这个问题对于我们正在做的项目来讲,就颇为棘手了,因为我们的需求注定了我们必须

使用代码方式将TextField添加至场景。

 

最初我们采用以下代码将TextField加入场景:

1 public function init():void {
2     var fmt:TextFormat = new TextFormat("新宋体", 12, 0xFFFFFF);
3     _chatText = new TextField();
4     _chatText.defaultTextFormat = fmt;
5     this.AddChild(_chatText); 
6 } 

 

  但是经过测试发现,无论如何均无法设置字体。后经过在网上大量搜索相关信息,无

奈得出结论无法这样搞。后来突发奇想按理说不应该出现这种问题吧,试试能否通过这种

将TextField改变为其他英文字体,这样一测试,发现此猜想行得通。遂将上段代码改为下

段之后,发现可以正常改变字体了~~ 

1 public function init():void {
2     var fmt:TextFormat = new TextFormat("NSimSun", 12, 0xFFFFFF);
3     _chatText = new TextField();
4     _chatText.defaultTextFormat = fmt;
5     this.AddChild(_chatText); 
6 } 

 

  结论:因ActionScript 3最初设计时并未考虑多国语言特性,所以导致该问题的发生。

以后出现类似问题时需多思考,网上搜索的信息不一定准确。

 

ps:在最近开发中还发现了其他AS3的一些bug,空了另行撰文说明之~~~

再ps一个: 本文原创,转摘时,请注明作者和出处。http://www.cnblogs.com/shrimps/archive/2012/04/23/as3_bugs_textformat_font.html & Shrimps

最后ps一下:希望该文对有需要滴人有所帮助~~~欢迎大家交流,能post me一些AS交流群吗?thx 

posted @ 2012-04-23 10:24  虾虾  阅读(637)  评论(0编辑  收藏  举报