- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、完善游戏关卡 游戏关卡设计就是设计游戏的场景和物品以及目标和任务,提供给玩家一个活动的舞台。 在这个舞台上,玩家表面上拥有一定的自由,实际上是关卡设计者通过精心布置,来把握游戏的节奏并给予玩家一定的引导,最终达到游戏预先设定的目标。 游戏关卡的5大要素 场景 边界 道具 敌人 目标 1.完善场景的滚动 如何让玩家走到TileMap的边界? —对玩家与砖块地图左右边界的碰撞进行处理 如何让TileMap的上面部分内容显示出来? —设置垂直方向的场景滚动 (参见例10_1) 2.添加敌人和道具 添加不同类型的敌人 添加道具,玩家获取后增强属性 在砖块地图文件加入NPC标记。 循环地读取砖块地图文件中的所有字符,并分别进行判断。 设置道具效果 “星星”道具让玩家马上转为无敌状态 “红心”道具增加玩家的生命值 “能量球”道具的作用是增加玩家的跳跃能力 添加新关卡,消灭当前关卡中的所有NPC后跳至下一关 (参见例10_2) 二、添加游戏菜单 游戏菜单的作用是提供一组常用的命令供玩家调用,让玩家能够控制游戏的执行以及把握游戏的节奏。 游戏菜单由菜单项组成,每个菜单项对应一个特定的命令,例如游戏开始、游戏结束、保存进度、读取进度、按键设置、音量控制等等。 1.设计游戏菜单 使用AWT组件来设计菜单。 设定一个面板组件Panel作为菜单对象,然后生成若干标签对象Lable加入到该Panel中,每个Lable对象便对应着一个菜单项。 当玩家鼠标点击某个Lable时,游戏便会执行该菜单项对应的命令。 2.显示游戏菜单 设计弹出菜单时的显示效果(参见例10_3) 3.游戏保存与恢复 随着游戏类型的不断丰富以及游戏规模的不断扩大,一个游戏通常不是一天半日能完成的,因此大部分游戏都设有游戏进度的保存与恢复功能。 加入游戏保存与恢复功能有利于玩家合理地分配游戏的时间,从而更好地把握游戏的节奏,增加游戏的可玩性。 问题 游戏保存的到底是什么,恢复的又是什么? —游戏的保存是将游戏运行到某个时间点时各对象的状态值记录下来,例如场景的水平及垂直偏移值、玩家的坐标及生命值、NPC的类型及速度值等等。 —游戏恢复则是对保存后的游戏进度进行复原,即将存放在文件中的数据重新赋值给相应的变量 如何实现 saveGame()方法用于保存当前游戏进度 定义字符串变量s1来保存场景及玩家的信息 定义字符串变量s2来保存所有NPC的信息 通过BufferWriter将s1和s2的值写入到存档文件中。 loadGame()方法用于读取游戏进度 使用BufferedReader从存档文件中读取s1和s2的值并进行分割,从而获取游戏各个变量的值 程序将获取到的数据分别赋值给相应的变量,从而将所有游戏变量恢复到保存时的值 三、设计关卡地图编辑器 地图编辑器是一种所见即所得的游戏地图制作工具,用于辅助设计和输出地图数据,包括创建、编辑、存储和管理游戏地图数据。 地图编辑器读取和使用游戏资源,并按照游戏程序规则输出相应格式的地图数据,游戏程序则通过地图数据构建游戏场景,并将其呈现给用户。 在地图编辑器中,开发人员可以方便地摆放地图物体、构建和修改地图场景、自动判断遮挡关系以及设置地图事件等。 地图编辑器通过其直观和简易的操作来简化地图的制作过程,它的资源管理功能使得地图资源可以在多个地图中复用,极大地减少地图制作和修改的工作量。 目前游戏关卡所采用的砖块地图是用字符表示并存放在文本文件中的。由于直观性,编辑起来显得十分繁琐。 考虑为游戏制作一个地图编辑器,用可视化的图形界面编辑和生成游戏砖块地图,即用鼠标拖放组件的方式直接生成场景图像,而不再采用手工编辑字符文本文件的方式。 它可以将编辑好的游戏地图保存为文本格式的地图文件,同时能够读取文本地图文件并自动转换为场景图像。 地图编辑器总体设计 编辑器的界面设计 地图编辑器详细设计 编辑器MapEditer类的设计 MapEditer类是主类,是程序GUI界面的顶层容器,可以用继承JFrame的方式来实现MapEditor这个类 可以将地图绘制面板DrawPanel和砖块组件选择面板ControlPanel对象添加到MapEditer容器上。 除了添加两个面板对象之外,还要向MapEditer容器添加一个滚动条JScrollPane对象,以及一个JLabel标签对象,这个标签对象是鼠标拖拽砖块图像的过程中鼠标拖动的砖块图标。 地图编辑器详细设计 地图绘制面板DrawPanel类的设计 地图绘制面板DrawPanel类的作用是将从左边拖拽过来的砖块贴到绘图面板上,此过程是触发鼠标事件的过程。 具体包括获取被鼠标拖拽的砖块文件编号,并转换成文本字符记录更新到砖块地图数组map中;
您可能关注的文档
- 新Java Web应用技术与案例教程 教学课件 杨树林 胡洁萍 第三章 设计模式与分层架构.ppt
- 新Java 程序设计 教学课件 朱喜福 林建民 唐永 第01章.ppt
- 新Java 程序设计项目教程(教育部高职高专计算机教指委规划教材) 教学课件 张兴科 季昌武 项目五.ppt
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 第3章 类、类的继承和接口.ppt
文档评论(0)