XNA4.0 在游戏窗口上显示中文,稍微有点麻烦。不过我相信你看完以下教程,也会感觉比较简单。
做好后的结果图
1> 创建一个XNA 项目
2> 创建一个字体文件: 在解决方案下面——Content 项目上点击右键 ——-添加———-新建项———选择 Sprite Font 创建 一个字体文件,名字随便。
创建好过程以后的图
3>在Content 项目下面就能找到那个字体文件,双击打开那个字体文件,可以看见它是以XML文件方式保存数据的。
<FontName>Segoe UI Mono</FontName> //字体名称
<Size>14</Size> //字体大小
4> 添加自己需要的汉字 在 CharacterRegions 节点下面,添加一个新的节点 CharacterRegion,<Start> </Start> 和 <End>~</End> 节点填上你需要的汉字 十进制Unicode编码 。
注意:
<Start> </Start> 和 edn 节点前面的 &# 不能掉了。
start和end 节点之间的数字区间越大,包含的汉字就越多,但是如果过多的话,加载的时候容易出问题。所以建议start和end节点的值是一样的,也就是每一个节点只包含一个汉字。
添加完节点以后的截图
5> 在Game类里面添加代码来显示汉字
(1): 声明全局变量 SpriteFont font;
(2): 在 LoadContent() 函数里面初始化上面的变量 this.font = Content.Load<SpriteFont>(“Font”); //括号的”Font” 是创建的那个字体文件的名称。
(3): 在 Draw(GameTime gameTime) 函数里面来绘制汉字:
string value = “大家好”;
// 这里的文字要和你创建字体文件里面的汉字对应,如果字体文件没有这个汉字的十进制,运行就会出错。
this.spriteBatch.DrawString(this.font, value, new Vector2(100, 100),Color.Blue); //绘制汉字
相关软件下载:
XNA Game Studio 4.0 官方下载 48M : [url href="http://www.microsoft.com/en-us/download/confirmation.aspx?id=23714"]点击下载[/url]
Microsoft Visual Studio 2010 旗舰版下载附带序列号
[url href="http://www.zousky.com/index.php/archives/48.html"]下载页面[/url]