游戏程序设计教程——从游戏引擎构建到实际应用 万立中 万立新 Chapter_12新.ppt

游戏程序设计教程——从游戏引擎构建到实际应用 万立中 万立新 Chapter_12新.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 引擎案例—新坦克大战游戏 内容提纲 12.1 游戏需求分析 12.2 游戏总体设计 12.2.1 游戏素材设计 12.2.2 游戏地图设计 12.2.3 游戏类设计 12.3 游戏代码实现 12.3.1 资源加载类函数 12.3.2 游戏状态更新类函数 12.3.3 关卡处理函数 12.3.4 游戏细节处理类函数 12.3.5 引擎接口函数实现 12.4 游戏运行测试 第12章 引擎案例—新坦克大战游戏 本游戏使用了更大的地图,需要通过滚动地图才能看到全貌。 地图使用了多图层,有背景图层、障碍图层以及遮罩图层等不同功能图层。 12.1 游戏需求分析 新坦克大战游戏也采用键盘控制: 坦克只有上、下、左、右4个运动方向 玩家通过按空格键发射炮弹 炮弹可以消灭NPC坦克,也可以摧毁地图障碍物 炮弹发射会被计数,每按一次空格键就发射一枚炮弹,计数也随之减1。如果计数为0,玩家坦克无法发射炮弹,但可以通过弹药奖励来补充弹药 每关初始弹药量为100 玩家坦克被NPC坦克发射的炮弹击中,游戏生命值减1 12.1 游戏需求分析 游戏玩家角色是红色坦克,而NPC是绿色坦克; 玩家坦克不能与NPC坦克直接发生碰撞,只能通过发射炮弹消灭NPC坦克; 如果玩家坦克与NPC坦克发生碰撞,游戏生命值会减1。当生命值为0时,如果玩家坦克再被炮弹击中或与NPC坦克发生碰撞,游戏结束。 玩家可以通过游戏生命奖励来增加生命值。当玩家失去游戏生命时,屏幕上会伴有红色闪屏,同时玩家坦克也会被复位到初始位置。 玩家坦克在窗口移动时,如果地图边界在窗口以外区域,地图将自动滚动,直到地图边界与窗口边界重合才停止。 地图滚动时玩家坦克不移动; 地图停止滚动,玩家坦克恢复正常移动。 12.1 游戏需求分析 游戏地图设计了遮罩图层,该图层会被绘制到所有游戏图层顶部。 当玩家坦克或NPC坦克经过有遮罩的位置会被遮挡。 无论障碍图层还是遮罩图层,都可以被炮弹摧毁。 本游戏仍然使用图标加文字方式,只是对图标图像进行了替换。 本案例游戏设有5关,每关都有固定数目的NPC坦克,玩家必须消灭全部NPC坦克才能过关。 每关以消灭NPC坦克作为游戏任务,游戏不计分也不计时; 由于素材和代码量限制,本例每关NPC坦克都一样; NPC坦克和炮弹也没有设计成多种攻击或威力类型。 12.1 游戏需求分析 游戏中设计了弹药和游戏命的奖励。奖励会在地图中任何非障碍位置随机分布。 心形图像表示游戏命,触碰后游戏生命值加1; 弹药箱表示弹药奖励,触碰后弹药量每次增加20; 奖励对象触碰后会消失; 奖励有时间限制,如在规定时间内奖励对象没有被玩家坦克触碰,消失前先通过闪动的颜色进行警告,如果依然没有被触碰就自动消失。 掌握本游戏实现后,请你根据自己的想法自行去改进和完善。 12.1 游戏需求分析 本游戏要实现的具体功能如下: 1. 菜单功能 游戏菜单同样分为主菜单和过渡菜单两种类型 2. 玩家角色控制 玩家角色通过方向键控制 按上、下、左、右方向键,玩家坦克朝相应方向移动 玩家角色活动范围在整个游戏地图边界内,其初始位置在窗口左侧垂直居中处 无论移动到什么位置,失去游戏命后,都将复位到初始位置 3. 炮弹发射及爆炸效果显示 玩家坦克不能和NPC坦克发生碰撞,必须通过按空格键发射炮弹消灭它 如果击中,NPC坦克消失,并伴随爆炸音效和爆炸动画效果 12.1 游戏需求分析 4. NPC自动漫游 NPC坦克会在地图边界内自动漫游,碰到障碍物、玩家坦克或者另一辆NPC坦克,会自动躲避。 NPC坦克在游戏地图四角随机生成。 如果到达地图边界处,NPC会自动改变方向继续移动。 5. 游戏地图滚动 玩家坦克在移动过程中,到达接近窗口边缘位置,如果地图边界在窗口以外,地图将自动滚动,直到地图边界与窗口边界重合才停止。 6. 音乐、音效播放 菜单背景音乐会在主菜单界面下自动循环播放; 游戏开始后,菜单背景音乐自动停止,游戏背景音乐会自动循环播放。 玩家发射的炮弹或NPC发射的炮弹如果击中目标,如坦克、地图障碍或遮罩,会伴有爆炸音效。 12.1 游戏需求分析 7. 游戏状态显示 游戏采用图标加文字方式显示信息,包括:敌人数、剩余游戏命、弹药量和当前关。 8. 游戏过关升级处理 每关NPC坦克总数为20。 游戏开始后,NPC坦克会逐步加载,当达到总数后就不再加载。 玩家必须消灭每关全部NPC坦克才能过关。 通过全部设定关卡,游戏通关。 9. 游戏帮助及关于信息显示 通过主菜单中的“游戏帮助”、“关于游戏”两个菜单项分别可以查看游戏操作说明及与本游戏相关的游戏名称、版本号、作者等信息。 12.2 游戏总体设计 本游戏的游戏类设计将以FishGame游戏类为模板 首先

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档