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

2023-12-14 00:38

本文主要是介绍第一部分:基础知识(第一章)一个XNA 手机程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接下来我们编写一个在在屏幕中心显示一些问候的XNA程序。而文本往往在Silverlight应用非常普遍,通常作为文字描或如何游戏或展示分数。这是一个“Hello,world”不能作为完整的XNA程序的研究或范例。

事实上,XNA没有任何内置的字体。你可能会认为一个XNA的手机程序可以使用和Silverlight相同的本地字体,但事实并非如此。 Silverlight使用基于矢量的TrueType字体,但XNA不知道有这些外来的概念东西。在XNA,一切都是一个位图,包括字体。

如果你要将你的特定字体包含在你的XNA项目中,则该字体必须作为包含每个字符位图的集合嵌入到可执行文件中。XNA Game Studio (集成 Visual Studio) 可以常容易的嵌入的字体,但它会引发一些棘手的法律问题。除非法律允许可以分发嵌入的字体,大部分字体与 Windows 本身或 Windows 应用程序一起分发的,但这并不是商业上的。

为了帮助你解决这一法律困惑,微软授权使用的某些字体公司专为让您嵌入在您XNA方案中。在这里,他们是:

clip_image002

请注意,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字符集的非控制字符。

这篇关于第一部分:基础知识(第一章)一个XNA 手机程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490529

相关文章

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T