• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >游戏开发 > 游戏画面管理与切换控制

游戏画面管理与切换控制

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了橙光游戏画面切换,画面好的网页游戏,画面好的3d游戏,画面好看的网页游戏,画面好的网络游戏等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 游戏画面管理与切换控制
描述:

本帖最后由 TOPyangpeng 于 2012-10-30 21:43:27 编辑

摘要
以 XNA 为基础的游戏程序虽然可以很容易地显示图形和文字供用户检视,并附予各种特殊效果,丰富游戏的内容,以达到吸引游戏用户的最终目标。但是 XNA Framework 不像一般支持应用程序开发的 .NET Framework、.NET Compact Framework、或是 Silverlight Framework,对应用程序编程接口的开发提供完整的支持,XNA Framework 主要的支持在游戏功能的设计,在支持应用程序编程接口方面,例如窗口、对话框、菜单、工具栏、状态栏等和用户沟通的接口部分就需要多投入一点心力,才能建置具功能选单、场景切换、或是允许使用者设定游戏主角、游戏内容、和游戏难度的完整游戏。在这一篇文章中,我们将要介绍以 XNA 为基础的游戏程序的画面开关技巧,以及 XNA Framework 在与使用者沟通方面的支持。
 游戏画面管理与开关
和一般的应用程序一样,以 XNA 为基础的游戏程序也需要功能选单供游戏用户选择喜好设定,包括游戏的背景图案、主角人物的图片、对战的对象、或是游戏的难度。每一种设定的设定画面都可能有更进一步的细部设定,造成游戏程序必须协助用户无障碍地在各种设定画面与游戏进行画面之间的切换,不会因为对游戏的使用者造成操作上的困扰。
游戏程序和一般的应用程序的定位不同,游戏程序通常不需要用户输入很多的数据,甚至允许用户不需要执行任何输入的动作就可以进入游戏程序设定的游戏场景,所以在支持画面设计与管理的功能方面较为薄弱,例如支持设计 Windows Phone 7 游戏程序开发的 XNA Framework 不像支持设计一般的 Windows Phone 7 应用程序的 Silverlight Framework 可以很容易地利用 XAML 文件与 PhoneApplicationPage 类别建立和供使用者操作的画面,和使用者进行沟通,或是读取用户设定或输入的数据,并利用 NavigationService 类别提供的 Navigate、GoForward、和 GoBack 等方法进行切换,开发以 XNA 为基础的游戏程序必须投入较多的心力在管理游戏程序的游戏画面、菜单画面、或是设定画面,以提供完整的游戏程序功能供用户使用。
 认识 Game State Management 范例
要为以 XNA 为基础的游戏程序加上菜单选单,设定画面,或是场景切换功能,除了自行开发以外,也可以利用发表于 APP HUB 网站的 Game State Management 范例程序 (网址:http://create.msdn.com/en-US/education/catalog/sample/game_state_management),此范例程序提供三种游戏平台的范例,分别是 Windows Phone 7 平台的范例:GSMSample_4_0_PHONE.zip;Windows 平台和 XBOX 游戏机平台的范例:GSMSample_4_0_WIN_XBOX.zip,有兴趣的读者可以自行下载 Game State Management 范例程序提供的原始码,为上述三种平台的游戏程序加入游戏画面管理与切换的功能。如果读者有需要开发网络游戏程序,可以参考发表于 APP HUB 网站的 Network Game State Management 范例程序(网址:http://create.msdn.com/en-US/education/catalog/sample/network_game_state_management)。
[注意]
使用 Game State Management 范例程序提供的原始码必须遵守 Microsoft Permissive License 授权规范,详细的授权规定请参考 Microsoft Permissive License (Ms-PL) 文件的说明。
欲使用 Game State Management 范例程序提供的原始码,请先下载正确的范例版本,解压缩之后使用 Visual Studio 2010 Express 开启扩展名为 .sln 的方案档,您将可以在 [Solution Explorer] 窗口中看到名称为 GameStateManagementSample (Phone) 的游戏程序项目,以及名称为 Content 的 Content Pipeline 项目。
名称为 GameStateManagementSample (Phone) 的游戏程序项目中名称为 ScreenManager 的文件夹中有三个重要的原始程序档案,分别是负责管理游戏画面的 ScreenManager.cs,可以协助处理使用者输入的 InputState.cs,以及做为游戏程序画面基类的 GameScreen.cs。ScreenManager 文件夹底下的原始程序档案的用途可以参考表1的说明:
表1:ScreenManager 文件夹底下的原始程序档案的用途
 游戏画面管理与切换控制
[说明]
ScreenManager 类别继承自 XNA Framework 内建的 DrawableGameComponent 类别。XNA Framework 内建的 DrawableGameComponent 类别和 GameComponent 类别都是支持模块化游戏设计的基类,两者皆支持 Update 方法,以执行更新游戏状态的动作,DrawableGameComponent 另外支持 LoadContent、UnloadContent、以及 Draw 方法,做为加载游戏资源、释放资源、以及绘制游戏内容之用。以 XNA 为基础的游戏程序可以将游戏的人物和模块制作成继承自 DrawableGameComponent 类别或 GameComponent 类别的衍生类别,将更新游戏状态、加载/释放资源、与绘制游戏内容的工作封装在类别中,使游戏程序具备更优良的结构。
[提示]
每一个继承自 GameScreen 类别的衍生类别可以经由覆写 (override) LoadContent 方法加载画面需要用到的资源,覆写 UnloadContent 方法执行释放资源的动作,覆写 Update 方法以执行更新画面状态的动作,覆写 HandleInput 方法以处理使用者的输入操作,覆写 Draw 方法以显示画面的内容。除此之外,GameScreen 类别另外提供允许衍生类别覆写的 Serialize 方法和 Deserialize 方法,执行储存画面状态,或是读回之前储存的画面状态的动作。如果有需要控制画面转场的效果,可以设定 GameScreen 类别的 TransitionOnTime 属性和 TransitionOffTime 属性,将 TransitionOnTime 属性和 TransitionOffTime 属性设定成 0 代表画面切换不需要转场效果。如果画面要以突现的方式盖在目前的画面之上,可以将 GameScreen 类别的 IsPopup 属性设定成 true。
除了名称为 ScreenManager 的文件夹以外,名称为 GameStateManagementSample (Phone) 的游戏程序项目中还有一个名称为 Screens 的文件夹,位于此文件夹底下的是 Game State Management 范例程序提供的现成游戏程序画面,您可以直接使用 GameStateManagementSample (Phone) 的游戏程序项目提供的游戏画面,或是自行开发继承自 GameScreen.cs 定义的 GameScreen 类别的衍生类别,定义所开发的游戏程序需要的画面。
Screens 文件夹底下的原始程序档案的用途可以参考表2 的说明:
表2:Screens 文件夹底下的原始程序档案的用途
 游戏画面管理与切换控制
[提示]
请注意 ScreenManager 文件夹和 Screens 文件夹中的某些类别需要使用到 Content Pipeline 项目中的游戏资源,也就是您必须在 Content Pipeline 项目中准备好必要的游戏资源,否则光有类别的原始码还是无法制作出游戏程序需要使用的游戏画面。
需要使用到资源的源代码档案包括负责管理游戏画面的 ScreenManager.c 会用到 Content Pipeline 项目中名称为 blank 的图片和 menufont 字型定义文件;负责显示讯息窗口和用户沟通的 MessageBoxScreen.cs 会用到 Content Pipeline 专案中名称为 gradient 的图片;负责扮演游戏主窗口的 GameplayScreen.cs 会用到 Content Pipeline 项目中名称为 gamefont 字型定义文件,而当做背景窗口的 BackgroundScreen.cs 则需要用到 Content Pipeline 项目中名称为 background 的图片。请注意如果游戏程序需要改变上述置于 Content Pipeline 项目的游戏资源的名称,必须一并修改使用到这些资源的源代码,否则所开发的游戏程序将无法执行。
 使用 Game State Management 范例提供的原始码管理游戏程序的画面
了解 Game State Management 范例提供的原始程序档案的功能和用途之后,我们就可以利用范例制作好的类别来开发具备菜单与画面切换功能的游戏程序了。
首先请启动 Visual Studio 2010 Express for Windows Phone,建立一个 [Windows Phone Game(4.0)] 型态的项目,然后将 Game State Management 范例的游戏程序项目中的 ScreenManager 文件夹和 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 游戏画面管理与切换控制

相关文章

  • 2017-06-05 cocos2dx-223
  • 2017-06-05 游戏网络编程
  • 2022-04-30Unity 3D障碍物(Nav Mesh Obstacle)
  • 2017-06-05 求一款游戏引擎要求能生成全代码而不是脚本语言
  • 2017-06-05 unity3D的一个安卓的游戏
  • 2022-04-30Unity 3D导入资源包
  • 2017-06-05 招募:天使汇&9秒闪投手游专场-寻找下一个《刀塔传奇》
  • 2017-06-05 看过开源引擎的进
  • 2017-06-05 新手问题,请高手相助!
  • 2017-06-05 关于opengl画图的问题,请教大神!!!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 图形引擎,游戏引擎开发方向在深圳有什么比较好的公司推荐
    • 我想问一下unity添加DLL为什么会失效
    • 怎么让CharacterController不会与其它的CharacterController产生碰撞?
    • 有c++builder可以调用的2D或3D引擎吗?
    • 在it行业里,程序员做哪方面开发收入最高?
    • 游戏编程中数据相关类如何设计?
    • 求物体相对另一个物体的方向
    • cocos2d编译问题,求大神解惑,谢谢!
    • Unity 3D TextField控件
    • unity程序如何发送错误日志

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有