前面篇教程讲述是Flash中解决中文字体问题
有很多人写了类来解决这个问题但写出来类都很复杂根本不实用
那么难道就没有办法了吗?
当然有并且这个办法还很简单我在翻看FLASH CS3帮助文档时不小心发现了这个办法(嘿嘿先自娱下)
AS3中有个类只须个简单设置就行了
请看举例:
package {
import flash.system.*;
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.IOErrorEvent;
import flash.events.Event;
import fl.controls.TextArea;
import flash.text.TextFormat;
public sys extends Sprite {
private var myxml:XML;
private var mytxt:TextArea= TextArea ;
private var req:URLRequest= URLRequest("test.txt");
private var ul:URLLoader;
private var tf:TextFormat= TextFormat ;
public function sys {
tf.size=14;
tf.color=0xFF0000;
mytxt.Size(550,400);
addChild(mytxt);
.useCodePage=true;//解决中文乱码
ul= URLLoader(req);
ul.addEventListener(IOErrorEvent.IO_ERROR,ioerror);
ul.addEventListener(Event.COMPLETE,loaded);
}
private function loaded(event:Event) {
mytxt.Style("textFormat",tf);
myxml=XML(ul.data);
mytxt.text=myxml;
.Clipboard(mytxt.text);//设置剪贴板文本
}
private function ioerror(event:IOErrorEvent) {
mytxt.text="无相关文件";
}
}
}
这是我写个包具体如何用我想大家都会了文中蓝色字就是解决乱码了
在FLASH中.useCodePage是布尔类型且默认值为false,用时只要把其值设为true就行了
最新评论