经常下载一些国外的Flash源码来学习,在FlashDen上可以看到很多不错的,比较著名的Full Xml WebSite V3、Elite XML Website…… 里面运用了强大的Fuse类!但是这些老外做的东西想汉成中文的就有些问题了。一般加载外部变量使用 loadVariables() 或 getURL() 语句,或使用 LoadVars 类或 XML 类,然而这里需要对编码的格式有要求了,Flash默认使用的是Unicode编码,如果要达到统一外部被加载文件也需要是Unicode编码就可以了。不过老外们做的东西则一般都是iso-8859-1西文编码,所以我们在直接改变中文内容时势必造成乱码的情况。那么在汉化起来有几点需要注意的: 1、首先去掉System.useCodePage的说明,这个我个人觉得没有什么必要。一般都是设置useCodePage=true,这样就可以使用系统的编码格式了,但是我们做的东西最后上传的服务器是什么的我们总不好还要总变动外部文件的编码吧?去掉就相当于system.useCodePage = false 2、一般使用utf-8编码格式,中西文在不同操作系统上能够得到更好的表现。所以,我们必须在保存外部文件时指定使用UTF-8来保存。 3、如果加载的是xml文件,那么在xml文件的声明中也要指明使用utf-8编码:<?xml version=”1.0″ encoding=”utf-8″?> 4、针对一些文本框中嵌入字体的情况,需要取消嵌入的字体,使用设备字体替换。这样能够更小的减小最终swf文件的体积。当然,flash的在不同客户机的字体表现效果也不能做到绝对的一致了(鱼与熊掌的无奈) 5、如果是动态文本框,而在动画期间又对其指定了_alpha设置,那么在运行时,中文很可能消息掉,比较折中的方案是对这个动态文本框加上一个滤镜即可(投影、调整颜色 我个人一般用这两个);在能够确定文本内容不动态变化时,可以采用嵌入字体的方案。很多搞Flash汉化的朋友,都在动态文本框上出现了问题: Flash中,默认对动态文本框的mc设置_alpha是无效的!解决方案要么嵌入字体,要么加滤镜。当然,网上还有一种通过使用“新建字型”的脚本方案,实质上和嵌入字体是一样的,但是最终提交会更大,不推荐。可预知内容的,则根据对应字符的数量来嵌入字体;否则使用滤镜。具体需要针对性能和体积做充分比对再做定夺
国外Flash源码的汉化
最新推荐文章于 2022-06-29 11:58:47 发布