- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2ME手机游戏资源编辑器的设计与实现答辩稿
J2ME手机游戏资源编辑器的设计与实现 答 辩 人: 学 号: 指导教师: 日 期: 项目背景 什么是游戏资源编辑器 引擎+数据=可运行的游戏 对数据进行编辑的工具 立项目的 提升生产效率 “游戏工厂” 游戏引擎重用 分散程序员工作量 提高产品质量 项目需求 针对游戏类型 J2ME手机游戏 角色扮演(RPG) 动作(ACT) 主要用户 游戏策划人员 游戏美术人员 扩展性需求 数据格式扩展 编辑功能扩展 项目需求 系统设计与实现——技术选择 采用技术 Java Eclipse 3.1.0 Plug-ins:Visual Editor,ANT,XMLEditor JDK1.5 SWT 3.1.0 Microsoft VSS 6.0 Jakarta Commons – Betwixt,Digester,JXPath 系统设计与实现——模块划分 图素编辑器 划分图素 动画编辑器 利用图素拼接动画 数据编辑器 编辑各种结构的属性数据 资源打包器 整合各种资源 工作区管理器 整合系统各模块 系统设计与实现——模块划分 系统设计与实现——模块划分 系统设计与实现——图素编辑器 功能描述 提供动画编辑器所需资源 管理项目图片资源 提供获取任意图素的接口 功能细分 类别管理 图片管理 图素管理 系统设计与实现——图素编辑器 数据结构 系统设计与实现——图素编辑器 系统设计与实现——动画编辑器 功能描述 使用图素拼装动画 导出动画数据 功能细分 静态帧编辑 层数据编辑 帧序列编辑 数据输入输出 系统设计与实现——动画编辑器 动画数据结构设计 静态帧 播放序列 折中优化 系统设计与实现——动画编辑器 数据依赖性 初始化绑定 级联删除 系统设计与实现——动画编辑器 系统设计与实现——动画编辑器 系统设计与实现——数据编辑器 设计目标 灵活自定义的数据结构 功能细分 自定义数据结构 填充数据内容 导出数据 数据结构 Key-Value模型 系统设计与实现——数据编辑器 数据编辑范例 将一个角色的所有属性抽象成一系列Property的集合 为每一个Property设置Name和DataType 为每个Property填充数据 系统设计与实现——资源打包器 工作流程设计 脚本功能 打包文件列表定义 文件过滤定义 注释处理 系统设计与实现——工作区管理器 功能设计 组织项目资源 保存项目属性 提供项目根目录路径 系统应用 项目总结 实施前后对比 工作量的转移 游戏质量的提升(容量、Bugs) 引擎重用性提高 数据修改方便 存在不足 人性化 新功能扩展(角色编辑等) 与引擎的结合 致谢 感谢老师在设计期间的监督与审查 感谢老师在企业提供的技术支持 感谢评委老师的耐心评审 QA * * …… …… 9 防御力 15 攻击力 300 法力值 200 生命值 法师(职业序号2) 职业 艾尔文 姓名 属性值 角色属性 …… …… Byte 防御力 Byte 攻击力 Integer 法力值 Integer 生命值 Byte 职业 String 姓名 Property.DataType Property.Name 资源编辑器的主要应用是提供用户一个可视化的、方便使用的工具,可以通过该工具随意修改游戏资源的数据内容。通常一个游戏中需要进行编辑的数据包括:材质数据、地图数据、角色数据、道具数据、敌人数据、事件数据等其它数据。可以说,制作一个游戏,即使拥有了强大的引擎,如果没有功能强大的数据编辑工具作支持,就很难使游戏继续顺利地开发,并且游戏数据的正确性也难以保证。 虽然可以通过Java自带的序列化和反序列化方法,但通过使用Betwixt和Digester能提供更强一些的灵活性。 SWT在进行桌面应用程序开发时,执行效率、内存占用量比Swing较有优势 动画的原理是:将一系列帧进行连续播放,即形成了动画,所以一段动画将由一系列静态的帧数据组成。但由于一段动画中经常会出现重复的、循环的帧,为了更高效的利用空间,减少重复冗余的数据,将动画结构作简单的修改:动画由一系列静态帧和一段指导播放的数据组成,这一系列静态帧称为“静态帧库”,用来指导播放的数据称为“播放序列”。播放序列本质上是一串序号,代表着播放动画时播放静态帧的顺序。 每一张静态帧的结构由若干图层组成,这是一系列按顺序排列的层数据,在进行每一帧的渲染时将按照这帧的层的顺序,逐层进行渲染,这样就实现了遮盖的效果。 每一层由一块图素构成,这个图素来源于使用图素编辑器生成的图素数据。但这种设计会有空间性能的下降:假设某一帧的某一层来自于Figure A,该帧的另一层来自于Figure B,这样我们将不得不在每一层的数据里显式的保存该层图素的来源信息,这样做将使每个
文档评论(0)