- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地图编辑器设计文档要点
学士后
Android 工程师
就业冲刺阶段项目
忍者突袭项目
(地图编辑器)
详细设计书
编 写 人: 北大青鸟
编写日期: 2014 年 6 月
文 档 修 订 记 录
序号 修改人 审核人 修改日期 备注 1 2 3
1. 文档介绍
1.1. 文档目的
提供地图编辑器的详细设计,对后期的代码开发提供相关的指导和约束。
预期读者:游戏分析人员和开发人员。
1.2. 文档范围
本详细设计书主要是描述地图编辑器的具体实现,涉及的范围有:
图形模块
逻辑模块
2. 程序系统结构
2.1. 程序划分
序号 模块名称 主要功能 1 图形模块 提供编辑地图的设计窗口 2 逻辑模块 根据窗口中的地图设计生成地图文件
3. 图形模块
3.1. 需求概述
第一阶段的主要功能是实现地图编辑器的编辑窗口
3.2. 功能描述
提供一个编辑窗口,进行地图的编辑,编辑窗口上方有一个菜单栏,可以选择菜单栏中
的菜单项使用各功能。可以新建地图、载入图元、生成地图文件、编辑或者删除、生成单元
格等。如下图所示:
地图编辑器示意图
3.2.1. 主要使用类描述
包名 类 说明 com.xzh.mapeditor MapEditor.java 生成窗口的主体结构 com.xzh.mapeditor LineDialog.java 生成网格时弹出的对话框 com.xzh.mapeditor EditPanel.java 设置每个窗口的背景划线
3.2.2. 程序实现
MapEditor.java 类:
initMenu 方法:加载菜单,设置编辑模式选项组
initLayout 方法:设置主界面布局,设置滚动条最大、最小刻度,设置监听器。
EditPanel 类:
paint 方法:设置窗口背景,划网格线
LineDialog 类:
initPane 方法:初始化对话框中显示的内容 actionPerformed 方法:对点击事件进行处理
3.2.3. 其他说明
显示模块是使用 java 中的 Swing 实现的,主要有一个编辑窗口和一个显示窗口。显示
窗口显示地图中的图片元素,编辑窗口可以编辑地图。
4. 逻辑模块
4.1. 需求概述
逻辑模块主要处理显示把图片元素添加到编辑窗口指定位置,读取图片元素和生成地图
文件等。
4.2. 主要使用类描述
包名 类 说明 com.xzh.mapeditor MapEditor.java 生成窗口的主体结构
4.3. 程序实现
MapEditor 类:
onOpenElement 方法:从工程中的 res 目录下读取图片文件,把图片加载到显示窗
口。
onLoadElement 方法:从 element 文件夹下读取配置文件,根据配置问价加载图片。 onMapFormat 方法:地图格式另存
onSaveDialog 方法:弹出保存地图文件对话框 onMapSave 方法:保存地图文件
mouseClicked 方法:获取鼠标点击事件,根据点击事件位置,放置图片 addLabel 方法:添加图片坐标和图片类型到 List 中。
checkMain 方法:判断是主图元还是依附图元
checkPaste 方法: 判断两张图是否可以贴到一起showActiveLabel 方法: 显示当前 editpane 部分需要显示的 labelrestoreTempMap 方法: 未存储就退出,默认存储为 temp
4.4.其他说明
地图文件中的信息存储格式为: x,y,t,lx,y,t;x,y,t;#x,y,t,l。地图存储时,主要以 x 轴为主线,先存储在 x 轴上坐标不会重叠的图元作为 x 轴的主图元,在 NinjaAdventure 游戏中我们采用桥面和吊杆图元作为主图元;而另外的道具、桥墩、 npc 等,我们都根据其 x 轴坐标将其依附于主图元存储,将其存储在主图元后面,依附的主要根据是与主图元在 x 轴坐标上重叠或距离远近。在存储格式
文档评论(0)