发个XNA中文字体生成的辅助小工具

介绍了一款辅助工具,用于自动生成XNA开发中的【.spritefont】文件中的CharacterRegions元素,以便支持中文等特殊字符。该工具针对没有GDI+编程支持的运行环境,解决了中文显示的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是最近两天小弟微调LGame C#版时,新增的辅助工具,该程序可以通过 http://loon-simple.googlecode.com/svn/trunk下载最新的LGame-0.3.3-Beta包获得(位于C#子类,tools文件夹下),文件名【CharacterRegionTool(C#).exe】,不附带源码,不过也没有任何混淆,想看源码反向下也就是了(PS:此物乃标准.Net程序,没有.Net环境无法运行。当然,没有.Net环境者同样无法进行XNA开发……)。

需要说明的是,该工具对已发布的Java(Android)版,以及尚未发布的C/C++与HTML5版没有任何影响或帮助,仅用于自动生成XNA开发中【.spritefont】文件中的CharacterRegions元素,也就是生成xnb图像字体时所能编译出的具体中文字符(或其它特殊字符,阿拉伯语之类~)。

之所以会增加这样一个小工具,源于XNA的运行环境并非全部支持GDI+编程(并不是所有环境都能调用到System.Drawing这一命名空间)。因此,一旦我们希望程序可以在Windows、XBOX,WP7乃至Mono的扩展环境中同样运行游戏,我们就无法直接调取系统的TTF字体,来进行游戏开发所必需的文字显示。而只能选择使用XNA自带的SpriteFont文字贴图方式(或者其他类似的文字贴图方式,比如LGame自带的BMFont类)。

PS:不过,等LGame-0.3.3正式发布时,小弟会给C#版添加一个跨平台的TTF字体文件支持功能,注意,只是读取TTF文件,不能直接获得本地字库支持。

目前来说,SpriteFont在处理英文乃至欧洲其他国家文字时,不会有任何问题存在,因为字母是有穷的,只要我们设定好CharacterRegions中字母表的区间范围,一种英文字体,产生出一个至多1MB左右的xnb文件,就已足够。但是,在设定中文字体时,则随便导出一种汉字字体的完整支持,都将动辄产生出十几MB的xnb文件。而手动设定汉字字符又较耗时间,很难要求用户将长篇大论导分解成一个个<CharacterRegion>……</CharacterRegion>子元素。

这种现实情况,势必影响到WP7、XBOX开发者的使用积极性(至少会影响到简体,正体用户的C#版中文游戏开发吧……),所以小弟为LGame增加了下面这个小小的辅助工具(当然,就算不上LGame,需要.spritefont进行汉字支持的地方依旧可以使用。话说谁有空研究下用中文字根拼字造图啊,原理依照永字八法啥的~),用以自动生成整篇中文的具体CharacterRegions元素,多少缓解下XNA下中文开发难的囧态~

运行示例图如下:



另外,不用担心字符重复,默认情况下已经剔除了重复元素:


_______________


另,明天有时间的话,小弟再整理点Java游戏源码发出来。


此工具可以将任何.X .FBX的模型文件的任何动作进行2D的导出, 导出格式为无底色的PNG图片, 还可以在导出前进行HLSL特效渲染, 这样就可以在不能渲染3D的平台上渲染GPU级别的仿3D效果, 还附赠了6个粒子效果,可以自己设置导出帧数。 此工具不敢说很好用,希望大家能够支持推动我更新更多的功能。 ————————————————————————————————————————————————————————————— 此版本更新了最初版本输入框的一些小Bug,附赠了两个(.FBX)示例模型。 打开工具以后点击导入模型,选择要导入的模型文件,加载成功以后模型会显示在黑色(默认背景颜色)区域,然后既可以对模型的 坐标矩阵、旋转矩阵进行初步修改了,在相对应的输入框中直接输入就可以了,然后可以开始设置模型的动画信息了,在右下方一条黑色横 杠(设置动画信息)的位置就是的了,你可以输入你想要的移动速度或者旋转速度,并且可以开启或者关闭、自定义辉光,还可以选择要播 放的粒子,一切设置成功后你可以先点击预览进行导出前的预览,默认的导出帧数是30帧,这里导出帧数你可以自己设定,你觉得预览成功 后就可以开始导出了,点击 开始 按钮选择要到处的路径,然后就会将显示区域的渲染效果进行导出,格式是.png格式的无底色图片,中途 可以停止对动画数据进行再次设置,也可以取消导出。 ————————————————————————————————————————————————————————————— ↑ ↓ ← → 加鼠标拖动是控制模型的旋转的和移动 左SHIFT+ ↑ ↓和鼠标拖动是Z轴运动 ————————————————————————————————————————————————————————————— 运行环境 .net framework 4.0 xna framework 4.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值