- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
区块2D游戏(Tile based Game)标准场景地图由2维数组构成,2维数组的值代表不同的地表类型及精灵。关卡设计人员可以用文本文件来设计不同的关卡。地表类型一般都是简单的等高等宽的几何形状,如矩形或圆等。
选择的理由:
入门游戏,有一定乐趣,关卡足够多
能引入A*寻路,动画
足够的简单,关卡设计已经完成,不需要剧情设计,不需要滚屏
有一个好的原型,能够展开重构,随时可以发布,随时可以告一段落
原始游戏截图:(标准的2D正视图) HYPERLINK
MIT授权模式,比GPL宽松,可以进行修改和再发布,应包含原作者的著作权声明和版权声明。
不成功的转换:(x、y弄反了,贴图有些也没有用45度素材)
转换后的地图:
另一套素材:
使用PNG的素材:(注意光影的表现)
公测版的缺省素材,注意,墙都连起来了,还有外墙衬
材质
3d材质的45度投影
遮挡
美工设计,方块菱形不遮挡,标准48*24中点连线菱形,周围全透明:可以和以前一样重绘,在重绘前用一个白菱形清一下底
采用全部重绘解决 遮挡问题,先全部清空,再逐一绘制,见TileMap的PaintListener,全部重绘对于这个游戏,在主流PC上是足够了
考虑遮挡,重绘
选择b,足够简单,对美工约束最小,两套图分别为48*32、48*38,可以更自由发挥。重绘时间足够短,全绘一遍40毫秒左右,能达到30FPS效果。
选择c,需要采用剪切和局部绘制顺序,重绘时间为0或16毫秒,速度有质的提高。
A*寻路
比想像中简单,有树的宽度搜索算法概念,理解A*就比较容易了。为了保持A*的通用性,摘了一个算法实现,并且将游戏中的格式转换了一下,而没有做一个定制的A*实现。效率可能会有影响,本游戏体现不出来。
动画
使用Display的timerExec方法。
自动行走过程中再次点击鼠标,将导致又触发一次自动行走
两次行为线程叠加,混乱,将step变量全局化来控制不允许重入。
屏幕坐标转游戏坐标
先减去余数,将屏幕坐标通过定位方块的原点获取到正确的矩形索引,然后判断点与矩形及内菱形的关系来确定菱形索引。
负数坐标的修正?
更完整的算法采用MouseMap,MouseMap最后的颜色查找表回归到自己写的“点与矩形及内菱形的关系”函数进行简化。
键盘控制
1.右上方为向上
2.左上方为向上
3.用左右键调方向,只允许用向上键向前走
第三套就使用方向感,也不容易犯错误,但按键次数太多。
键盘控制方案可在第2、第3套之间选择。
完全的国际化
提供perties和SokobanMperties的语言文件即可。
进一步可以将SokobanMessages.Properties合并到plugin.Properties中。
Retarget action
工具栏先定义占位符,再retarget,在freenote中有GEF帮着做了,在普通RCP中如何实现?见附件一。
抗锯齿
gif图边缘是有锯齿的,png图就好了
全绘制gif图30毫秒,全绘png图40毫秒
PNG带来图像质的飞跃
PNG的阴影效果
PNG的光效果:
两套素材切换,换肤
就是切换时将原有资源dispose掉,再载入新的
地图数据清洗
①冗余的墙
找一个最小包围即可。
多余的墙特征,其东南、东北、西南、西北均为墙或为空(地板不为空)
②墙拐角bug
当小人走过拐角时,因为上边为空,不刷,所以留下一截图。
如果先清白,再与背景不合,简单的方法是这种地方再增加一块墙。
地图特点:
######
## . #
# $@#. #
# $# #
该块特征,空白块,其西南、东南为墙,其南为地板、目标或小人
界面布局调整
调整后为:
增加背景图
实现局部刷新之后,CPU负担比较小,背景图也可以考虑了,以下是一例:
墙拐角的自动处理
见附件 云风的字符表格的算法,共有16种情况,以2D角度来划分,分别为
序号
2D位置情况
0
孤立一块
1
竖向的末端,如孤立两块竖连的第二块
2
横向的起点,如孤立两块横连的第一块
3
矩形的左下角,形如┗
4
竖向的起点,如孤立两块竖连的第一块
5
竖连的中间,形如┃
6
矩形的左上角,形如┏
7
三通之一,形如┣
8
横向的末端,如孤立两块横连的第二块
9
矩形的右下角,形如┛
10
横连的中间,形如━
11
三通之一,形如┻
12
矩形的右上角,形如┓
13
三通之一,形如┫
14
三通之一,形如┳
15
四通,形如╋
墙外围增加一圈地板做修饰
同上,更简单一些,只要3、5、6、9、10、12这6种横竖及拐角情况即可。
工具栏
图标
功能
备注
前一关
选关
下一关
重玩
撤消
重做
关卡集选择
下拉工具栏
皮肤选择
下拉工具栏,可扩充
背景选择
声音开关
3D按键开关
游戏暂停开关
文档评论(0)