第一部分:基础知识(第一章)一个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

相关文章

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

防止SpringBoot程序崩溃的几种方式汇总

《防止SpringBoot程序崩溃的几种方式汇总》本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配... 目录1. 全局异常处理2. 使用 try-catch 捕获异常3. 使用断路器4. 设置最大内存和线

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

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