接下来我们编写一个在在屏幕中心显示一些问候的XNA程序。而文本往往在Silverlight应用非常普遍,通常作为文字描或如何游戏或展示分数。这是一个“Hello,world”不能作为完整的XNA程序的研究或范例。
事实上,XNA没有任何内置的字体。你可能会认为一个XNA的手机程序可以使用和Silverlight相同的本地字体,但事实并非如此。 Silverlight使用基于矢量的TrueType字体,但XNA不知道有这些外来的概念东西。在XNA,一切都是一个位图,包括字体。
如果你要将你的特定字体包含在你的XNA项目中,则该字体必须作为包含每个字符位图的集合嵌入到可执行文件中。XNA Game Studio (集成 Visual Studio) 可以常容易的嵌入的字体,但它会引发一些棘手的法律问题。除非法律允许可以分发嵌入的字体,大部分字体与 Windows 本身或 Windows 应用程序一起分发的,但这并不是商业上的。
为了帮助你解决这一法律困惑,微软授权使用的某些字体公司专为让您嵌入在您XNA方案中。在这里,他们是:
请注意,Pericles字体授权使用小写字母,所以它可能只适合作标题。
从Visual Studio文件菜单选择New 和Project。在对话框的左侧,选择Visual C#和XNA Game Studio 4.0。在中间,选择Windows Phone Game(4.0),选择位置,并输入项目名称XnaHelloPhone。
Visual Studio创建两个项目,一个是程序和程序的其他内容。XNA程序通常包含的内容很多,主要是位图和三维模型,但也适合字体。要添加字体到此程序,请右键单击该项目项目内容(标有“XnaHelloPhoneContent(cintent)”,并从弹出式菜单中选择Add 和 New Item。选择Sprite Font,完成文件名作为SpriteFont1.spritefont,然后点击Add。
单词“sprite”是在游戏编程中的常见,通常是指一个小位图,可以移动很快,像魔法森林中可能遇到的精灵。在XNA,甚至字体也是sprite。
你会看到SpriteFont1.spritefont显示在内容目录的文件列表了,你可以编辑XML文件的被描述的字体。
XNA Project: XnaHelloPhone File: SpriteFont1.spritefont (complete w/o comments)
<xnacontent xmlns:graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics"></xnacontent>
<asset type="Graphics:FontDescription"></asset>
<fontname>Segoe UI Mono</fontname>
<size>14</size>
<spacing>0</spacing>
<usekerning>true</usekerning>
<style>Regular</style>
<characterregions></characterregions>
<characterregion></characterregion>
<start></start>
<end>~</end>
标签的字体名内你会看到Segoe UI Mono,但是你可以更改为其他字体是我前面列出。如果你想Pericles Light,放的全名在那里,但如果你想 Miramonte粗体或Pescadero粗体或Segoe UI Mono 粗体,只使用Miramonte或Pescadero或Segoe UI Mono,并输入标签之间的Bold样式。您可以使用其他字体为粗体,但对其他字体,粗体将被合成,而Miramonte或Pescadero或Segoe UI Mono,你会得到真正的设计的字体。
Size标签的指示字体的point大小。XNA在Silverlight中,你几乎可以完全处理像素坐标和尺寸,但point与point之间,在XNA像素间的转换是以96 DPI的显示器为基础。 14点的大小成为了在您XNA程序中18-2/3像素大小。这是非常接近Silverlight WindowsPhone中 15point20px的“标准”字号。
该文件的CharacterRegions部分表示你需要的Unicode字符的十六进制编码范围。默认设置从0x32到0x126包括所有的ASCII字符集的非控制字符。
分享到:
相关推荐
国内第一本XNA教程中文《XNA入门指南》,经《A Beginners Guild to XNA》原作者 Mike Fleischauer 书面授权中国XNA开发网翻译!书中如有错误请访问www.ChinaXNA.com 或者 www.XNADev.cn
第1章XNA介绍.doc 第2章创建你的第一个游戏Pong.doc 第3章辅助类.doc 第4章游戏组件.doc 第5章编写自己的XNA图形引擎.doc 第6章管理Shader.doc 第7章实现法线映射.doc 第8章 添加天空和地面.doc 第8章Post-Screen ...
作为一个游戏程序员,你或许知道 DirectX ,甚至也许具有XNA 框架的基础知识。 这一个章节解释了如何安装 XNA Game Studio Express 和如何以有效率的方式使用它。它也包含相当多的技巧,这些技巧甚至可能对任何一个...
在开始下几章炫酷的normal mapping effect或者post screen shader之前,你首先必须学会基础。shader不仅仅用于高质量的特效,也取代非常简单的渲染过程,这些处理曾经被用在固定功能管道的渲染。在学习了一点儿...
第1章XNA介绍,第2章创建你的第一个游戏Pong,第3章辅助类,第4章游戏组件,第5章编写自己的XNA图形引擎,第6章管理Shader,第7章实现法线映射,第8章 添加天空和地面………………
XNA入门指南,,入门级 XNA入门指南 XNA入门指南
XNA游戏代码部分一个2D,1个3D的可以参考XNA游戏代码部分一个2D,1个3D的可以参考
XNA中文手册XNA中文手册XNA中文手册XNA中文手册
4)网络通讯(这部分就大了,因为有计划写局域网版,想写成广域网版,但技术还不到,加积累。) 网络通讯,延申的就多了:组队系统,聊天系统(私,队,公,世界),角色信息改变事件发送给各各角色的状态信息...
当年您也可以使用Silverlight来写游戏,或者使用XNA来编写一个以数据为中心的应用程序。每个应用程序框架都有其自身的优势;选择合适的编程模型,可以使您的生产率大幅提高,并且缩短应用上市时间。 在Windows Phone...
介绍了Direct_3D的基础知识与XNA游戏开发基础
Windows Phone开发-XNA基础
XNA学习资料,XNAXNA学习资料,XNAXNA学习资料,XNAXNA学习资料,XNA
中文名:《XNA高级编程:Xbox 360和Windows》 英文名:Professional.XNA.Game.Programming.For.Xbox.360.and.Windows 很好的学习3D编程的教材
XNA Game Studio 是一个整合式的游戏开发环境,能够支持程序设计师使用 C# 程序语言,搭配其提供的工具和类别库设计游戏程序,其第一版发表于 2006 年 12 月,这个版本只能支持程序设计师开发能够在 Windows 平台和 ...
xna4.0 中文 + 源码 这个xna教程很不错。源码也在里面。
一个 XNA3.0例子 一个 XNA3.0例子
xna a demo for xna a demo for xna a demo for xna
XNA游戏:手势触控
XNA游戏:重力感应