- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游戏框架设计书
1. 简单说明
2. 各个类的介绍详细解释
3. 流程框架图的构建和说明
一 简单说明
本框架的设计主要放在了类与类之间的互动上, 并运用了面向对象中封装的概念, 将数据和
实现分开,具体的会在后面介绍
二 各个类的详细介绍
CGAME MIDlet 类,负责启动程序 StartApp()
cCanvas 游戏主界面
主要功能:画面跳转,和 Map 类进行信息和数据的交互, Map 类主要负责绘制地表和判断
玩家是否触发了时间,玩家触发的事件会在 cCanvas 中加以表现
交互主要为:因为在 Map 类中会有人物和地图的绘制,我们在人物的时候,需要判断人物
所在的脚所在的事件数组中的值, 并判断该值是否会触发事件, 一般触发的事件包括场景切
换,进入对话,进入战斗画面,为了方便处理二者的数据交互,在创建 Map 类的实例的时
候,通过构造函数将 cCanvas 类的对象传入 Map 对象,这样就可以在 Map 类中对 cCanvas
进行改变,这样在 Map 类中判断是否触发了事件的时候就可以调用 cCanvas 的对象加以改
变当前屏幕显示的对象
setGameState(int id) 更改游戏状态
用 preGameState 保存原来的状态,它的用处主要是在 showPop ()方法中
因为一个类只能单继承,因此将弹出状态下,单独做成了一个接口, cCanvas 类继承了该接
口就必须事先接口的方法
运用 preGameState 我们就可以判断玩家是在什么状态下调出的弹出界面,从而可以根据
preGameState 来确定当前的弹出界面应如何来写
Map cCanvas 主要是控制手机画面的显示, 那么 Map 类就主要负责告诉 cCanvas 现在应
该显示哪一个画面,互动的原理在 cCanvas 里已经详细说明了,现在在这里给出简单图示
在 cCanvas 类中创建 Map 类的实例时,会将自
己传给 Map,这样在 Map 中进入人物是否触发事件的时候, 就可以用该对象来对屏幕对象来
加以改变了
补充说明: 如果人物引发了事件, 那么必须考虑的东西有很多, 首先大地图必须更改, 大地
图更改后,相应的事件层的数据也要发生改变,解决的方案是根据事件 ID ,来载入不同的
地图, 调用的方法为 LoadMap(eventID) ,同时在载入地图的过程中, 我们还会对事件层的数
据重新进行设定
在循环进行判断绘制的时候,我们会判断人物的脚当前所在事件数组 mapArr2 中的值,
并对事件进行判断,如果是场景迁移,就进入场景迁移状态,通过方法 getEventID ()方法
来将当前触发的事件 ID 来传给 cCanvas,这样 cCanvas 就知道现在触发的事件是什么了,
因为场景有很多,所以采用 ChangeFild_0 这样的格式,后面的同此原理一样, Map 类里的
一些私有的成员变量若在它类中需要访问, 则创建一个公共的方法来获得需要访问的私有变
量的值,如下所示
Const 是所有的数据的集中地,主要是为了方便更改
图示如下
将 Rpg 采用了分层的模式,分为地表层 (Map 类 ),人物层( Role),建筑层( Building )
Role 类
原创力文档


文档评论(0)