第一部分:基础知识(第一章)一个XNA 手机程序

简介:

接下来我们编写一个在在屏幕中心显示一些问候的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)

Segoe UI Mono

14

0

true

~

 

 

 

 

标签的字体名内你会看到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字符集的非控制字符。



本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/803109

相关文章
|
7月前
|
JSON 安全 JavaScript
怎么保护苹果手机移动应用程序ipa中文件安全?
怎么保护苹果手机移动应用程序ipa中文件安全?
76 1
|
6月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
118 5
|
移动开发 安全 数据安全/隐私保护
怎么保护苹果手机移动应用程序ios ipa文件中的代码?
选择左侧的代码模块中的OC类名称或者Swift类名称,选择IPA种要混淆的二进制文件,然后勾选可执行文件代码里面的类名称。如果类太多可以使用搜索查看功能,ipaguard提供了级别选择,名称搜索,已选未选过滤来帮助配置混淆对象。
|
存储 Android开发 开发者
#2,Android新建第一个程序 Hello Android 模拟手机
#2,Android新建第一个程序 Hello Android 模拟手机
|
iOS开发
苹果手机请求程序报network error错误
苹果手机请求程序报network error错误
493 0
|
机器学习/深度学习 人工智能 安全
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
大数据文摘出品 不知道大家对做核酸怎么看,反正文摘菌的喉咙已经起茧了
233 0
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
程序人生 - 维修手机如何避坑?
程序人生 - 维修手机如何避坑?
120 0
|
6月前
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
5051 2
|
7月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
217 0
|
7月前
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
110 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
下一篇
DataWorks