欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > 内容正文

XNA Framework 常用的类别,xnaframework类别

来源: 开发者 投稿于  被查看 35291 次 评论:76

XNA Framework 常用的类别,xnaframework类别


 

摘要上一回我们为大家介绍了如何使用 Visual Studio 2010 或 Visual Studio 2010 Express for Windows Phone 设计以 XNA 为基础的 Windows Phone 7 游戏程序,并了解以 XNA 为基础的游戏程序的基础架构与核心功能。这一回我们将要为大家介绍 XNA Framework 支持游戏程序制作的重要类别,做为开发游戏程序的基础知识。除此之外,我们也将利用本文所介绍的类别实作一个简单的游戏程序,并令其具有能够不断卷动的背景图案。
GraphicsDeviceManager 类别第一个要介绍给大家认识的是负责管理绘图装置的 GraphicsDeviceManager 类别。以 XNA 为基础的游戏程序必须在初始化的时候建立妥 GraphicsDeviceManager 类别的对象,并设定包括游戏程序窗口高度与宽度在内的必要属性,做为显示游戏内容的基础。有关于游戏程序初始化阶段建立 GraphicsDeviceManager 类别的对象的详细做法可以参考 [设计以 XNA 为基础的 Windows Phone 7 游戏]一文的说明。表1 所示即为 GraphicsDeviceManager 类别常用的属性:
表1:GraphicsDeviceManager 类别常用的属性
属性名称 说明
IsFullScreen 控制游戏程序的窗口是否要以全屏幕的方式显示
PreferredBackBufferFormat 屏幕缓冲区的格式
PreferredBackBufferHeight 屏幕缓冲区的高度
PreferredBackBufferWidth 屏幕缓冲区的宽度

GraphicsDeviceManager 类别常用的方法请参考表2 的说明:
表2:GraphicsDeviceManager 类别常用的方法
方法名称 说明
ToggleFullScreen 在窗口模式和全屏幕模式中切换
游戏核心类别以 XNA 为基础的游戏程序的主体是 Game 类别,也是做为游戏程序主体的 Game1 类别的基础类别。游戏程序可以利用 Game1 类别的 Update 方法更新游戏的状态,利用 Draw 方法显示游戏的内容。表3 所示即为 Game 类别的常用属性:
表3:Game 类别常用的属性
属性名称 说明
Components 管理所有 GameComponent 的集合
Content 取得 ContentManager 对象的属性
GraphicsDevice 取得图型装置对象的属性
IsActive 判断游戏程序的窗口目前是否在作用中
IsFixedTimeStep 控制游戏程序要使用固定更新模式或是可变更新模式
TargetElapsedTime 当 IsFixedTimeStep 属性的内容值为 true 时,控制 Update 方法被呼叫的频率的属性

Game 类别常用的方法可以参考表4 的说明:
表4:Game 类别常用的方法
方法名称 说明
Exit 结束游戏程序的执行
BeginDraw 宣告绘制图形的动作开始
EndDraw 宣告绘制图形的动作结束
Draw 执行绘制游戏内容的动作
LoadContent 执行加载游戏资源的方法
UnloadContent 执行释放游戏资源的方法
Update 负责更新游戏状态的方法

详细说明:http://wp.662p.com/thread-8084-1-1.html


什是XNA Framework? 详细??

XNA Framework 是一系列帮助开发人员编写游戏的类库。在beta 版即将到来之际我想来花点时间通过对XNA 的三个关键点的解释来说明一下XNA Framework,也就是:XNA Framework 的目标是什么,XNA Framework 是什么,还有它可以做什么 在开发的时候我们想到的是实现两个主要目的: XNA Framework 的一个关键目标是实现游戏在Windows 和Xbox 360 分别运行的简易性,以让你可以先在Windows 上开发一个游戏,然后简单的移植到 Xbox360 上去。我们的目标是提供一系列可以涵盖大约95%功能的跨平台APIs。这里要说的是由于某些原因两个环境间仍会有部分的不同,例如有些操作可能只在一个平台上有效。我估计大部分你开发的游戏是100%跨平台的。 制作游戏是一项有难度的工作。从学生和爱好者想要成为专业游戏开发人员更加困难。常常要在如何实现绘图,输入,运动等地方反复试验而浪费大量的时间和代码。XNA Framework 的另一个目的就是使这一切变得容易起来。当我们在进行内部讨论的时候,我们经常提到开发体验的“头五分钟”。我们的想法是使你可以在头五分钟内开始编写你的游戏。你不必要考虑创建窗口,消息事件队列的弹出和处理,你不需要给出图片处理程序甚至掌握显示模式。你不需要创建一个图形设备然后在窗口重新定义大小和最小化的时候管理它。XNA Framework 替你处理了这一切。你要做的第一件事就是为你的游戏逻辑写代码。 另一个问题是处理特定的游戏内容(Content),把一个内容导入到你的游戏中然后使它在运行时为你所用。XNA Framework 的一项特性叫做内容管道(Content Pipeline)。通过它你可以极为简单的把一个内容引入你的游戏。关于这点将会在以后的文章作进一步的说明。不过想象一下,以后你可以像管理代码一样,将游戏的内容作为项目的一部分进行处理。内容管道将会为你处理内容的导入,编译和载入。 实现“头五分钟”的另一个方面在于我们将会提供一些Start Kits,这些Start Kits 将会作为一个项目模版包含完整的游戏操作,以及源代码和媒体文件。在新建项目对话框中你可以使用它们,并在上面进行修改。最终你将可以直接打开一个在编写中的游戏,进行改写和调整之后,按下F5 就可以马上得到反馈。每一个Start Kits 都会有完整的说明文档,还包含一些指导教你如何修改增加游戏的特性。 未来的版本中游戏开发进程的简化还将得到不断改进。而我们总的努力方向就在于不断地降低游戏开发的门槛,使更多的人进入到游戏开发者的行列中来。 Layers 在描述XNA Framework 组成的时候,我们可以认为是一系列层次关系。 Platform 平台是XNA Framework 的最下一层。它由一系列底层的原生代码和托管 APIs 组成。在这一层中有些APIs 就是Direct3D 9, XACT, XInput 和XContent. Core Framework 核心框架是第一层,并且提供核心操作用来给其它层的进行扩展。如果你想要在直接使用托管DirectX,就应该是在这一层。在这一层次中包含了对图像,声音,输入和数据存储的处理。当我们要改进XNA Framwork,附加新的功能我们就要增建这一层。 Extended Framework) 扩展框架主要致力于游戏开发的简化。当前这一层有两个主要的部分:应用模块(Application Model)和内容管道。我们将通过这一层使你可以更容易的开发游戏,同时......余下全文>>
 

XNA Framework Redistributable与Framework有什不同

都是提供的类库。只不过东西不一样。。。区别。。这根本就不是一个东西。。。一个是XNA游戏用的。一个是.net程序用的!
 

相关频道:

用户评论