3D游戏开发步步高系列课程(8)用户界面付仲恺微软特邀开发专家议题•添加菜单系统–添加MainItem类–添加MainMenu类•演示菜单系统的代码–回顾我们以前编写的代码我们将涉及到…•学习3D游戏‘PucthePirate’的开发基础知识•基本计算机知识•基本软件开发(C#)知识Level200Level2003D游戏引擎使用需求•Microsoft®.NETFramework2.0•Microsoft®VisualC#®ExpressEdition•Microsoft®DirectX®SoftwareDevelopmentKit(SDK)–昀新版本为2006年6月议题•添加菜单系统–添加MainItem类–添加MainMenu类•演示菜单系统的代码什么是主菜单?•主菜单(MainMenu)本身是一个层级,玩家可以选择下列选项:•开始新游戏•退出游戏•查询游戏帮助•察看制作者•回顾:游戏可以分为不同的层级,每个层级表示游戏的不同阶段菜单区域•分别显示了三个不同的区域–“Main”菜单显示–Newgame,Help,Credits,Exitoptions–“Help”菜单显示–提供玩家的控制信息–提供各种cookie的信息–“Credits”菜单显示–感谢游戏的开发者•被选中的菜单项将会转动菜单区域改变初始层级•代码位于:Game.cs•在Game的构造函数中将下面的代码CurrentLevel=newLevel1();•替换为CurrentLevel=newMainMenu();主菜单的主要组成部分•图像部分–背景•回顾:图片贴图–可选前景•主要由Mesh和动画组成–回顾:3D游戏的模型通常由Mesh和动画文件直接导入•根据用户的交互改变前景状态–回顾:响应用户的键盘输入主菜单的主要组成部分•操作部分–接收用户输入–根据用户输入改变游戏的状态•改变菜单自身的状态–切换到不同的菜单项–菜单项自身状态变化(旋转)•切换层级主菜单的主要组成部分•声音部分–背景音乐•根据不同菜单项切换音乐构建MenuItem类•所包含的变量–isSelected–决定菜单项是否正在被选中–MaximumRotationValue–从起始角度开始沿着正方向所能旋转的昀大角度–StepRotationValue–每frame菜单项所要旋转的角度–MinimumRotationValue–从起始角度开始沿着负方向所能旋转的昀大角度构建MenuMenu类•所包含的变量–MainMenuItems–菜单中菜单项列表–CurrentStatus–当前屏幕上所选菜单–SelectedItem–当前所选择的菜单项–MainMenuHelpCookies–在帮助菜单部分的所有cookie的列表–BackItem–回退按钮菜单项构建MainMenu类•所包含的方法–InitializeGraphics–加载必要的模型和纹理–InitializeSounds–加载所有的声音信息–MainMenu–构造函数–初始化设置–Update–更新当前正在转动的菜单项–Render–将菜单渲染到屏幕上构建MainItem类•所包含的方法–MenuItem–构造函数,初始化角度信息–Reset–将菜单项重置回其初始转动角度–Update–转动当前被选中的菜单项构建MainMenu类•所含的方法–KeyPressedHandler–处理菜单的键盘输入–Reset–重置菜单为其初始设置–HandleMessages–处理主菜单状态所对应的消息–ChangeStatus–选择新的菜单项–SwitchMusic–改变正在播放的音乐–StartSelectedItem–在菜单项上执行相应的操作添加游戏菜单课程总结•添加菜单系统–添加MainItem类–添加MainMenu类•演示菜单系统的代码–回顾我们以前编写的代码获取更多MSDN资源•MSDN中文网站•MSDN中文网络广播•MSDNFlash•MSDN开发中心如需提出问题,请单击“提问”按钮并在随后显示的浮动面板中输入问题内容。一旦完成问题输入后,请单击“提问”按钮。