XNA Framework 常用的类别_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > XNA Framework 常用的类别

XNA Framework 常用的类别

 2014/9/5 10:40:33  chenniuyi  程序员俱乐部  我要评论(0)
  • 摘要:摘要上一回我们为大家介绍了如何使用VisualStudio2010或VisualStudio2010ExpressforWindowsPhone设计以XNA为基础的WindowsPhone7游戏程序,并了解以XNA为基础的游戏程序的基础架构与核心功能。这一回我们将要为大家介绍XNAFramework支持游戏程序制作的重要类别,做为开发游戏程序的基础知识。除此之外,我们也将利用本文所介绍的类别实作一个简单的游戏程序,并令其具有能够不断卷动的背景图案。<ignore_js_op>
  • 标签:Framework 常用

摘要上一回我们为大家介绍了如何使用 Visual Studio 2010 或 Visual Studio 2010 Express for Windows Phone 设计以 XNA 为基础的 Windows Phone 7 游戏程序,并了解以 XNA 为基础的游戏程序的基础架构与核心功能。这一回我们将要为大家介绍 XNA Framework 支持游戏程序制作的重要类别,做为开发游戏程序的基础知识。除此之外,我们也将利用本文所介绍的类别实作一个简单的游戏程序,并令其具有能够不断卷动的背景图案。
<ignore_js_op>class="zoom" title="ee904170.bullet_title(zh-tw,MSDN.10).gif" src="/Upload/Images/2014090510/DEFCAA439549F748.gif" alt="ee904170.bullet_title(zh-tw,MSDN.10).gif" width="11" /> 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 负责更新游戏状态的方法


如果程序设计师要以模块化的方式设计游戏程序,可以将游戏的人物制作成 GameComponent 类别或是 DrawableGameComponent 类别,再将 GameComponent 类别的对象或是 DrawableGameComponent 类别的对象加入到 Game 类别的对象的 Conponents 集合中,由 Game 类别的对象统一管理,把复杂的游戏人物的初始化、状态更新、以及更新显示等动作封装在 GameComponent 类别或是 DrawableGameComponent 类别中,可以有效简化 Game 类别的控制逻辑。当游戏人物众多,角色复杂时,适当地利用 GameComponent 类别或是 DrawableGameComponent 类别可以提升游戏的可维护性,利于发展功能进阶,效果复杂的游戏。
XNA Framework 提供的 GameComponent 类别和 DrawableGameComponent 类别的差别在于 DrawableGameComponent 类别管理的是有用户接口的游戏组件,而 GameComponent 类别所管理的则是没有用户接口的游戏组件。换句话说,DrawableGameComponent 类别提供了 GameComponent 类别未支持的 LoadContent 方法和 Draw 方法,以便执行加载所管理的游戏资源和显示游戏的内容的工作。
当建立好 GameComponent 类别的对象或 DrawableGameComponent 类别的对象之后,只要将 GameComponent 类别的对象或 DrawableGameComponent 类别的对象加入到 Game 类别的对象的 Components 集合中,GameComponent 类别的对象或 DrawableGameComponent 类别的对象的 Update 方法就会被持续地呼叫,而 DrawableGameComponent 类别的对象的 Draw 方法也会在适当的时机被呼叫,并将游戏的内容显示到窗口中供用户操作。
欲为游戏程序项目加入 GameComponent 类别或 DrawableGameComponent 类别,可以使用鼠标的右键点中 [Solution Explorer] 窗口中的项目名称,从出现的菜单选择 [Add | New Item] 功能,屏幕上就会出现要求选择欲加入到项目的项目的窗口,如图1 所示:
图1:要求选择欲加入到项目的项目的窗口

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

上一篇: 疑似iPhone 6港版售价曝光 约5280元起售 下一篇: 没有下一篇了!
发表评论
用户名: 匿名