Cocos2dx------华容道

前端之家收集整理的这篇文章主要介绍了Cocos2dx------华容道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

华容道游戏的难点就2个

1.如何把棋子显示到指定的位置

2.如何移动




17 18 19 20
13 14 15 16
9 10 11 12
5 6 7 8
1 2 3 4

对于第一个问题我是 把棋盘 看成 一个 4*5的表 然后 从json里读取每张图片的坐标

编号1的表示曹操,value等于14 表示曹操这张图片的左下角在表里14这个格子的左下角

编号2的表示关羽,value等于10 表示关羽这张图片的左下角在表里10这个格子的左下角

编号3,4,5,6表示将军

编号7,8,9,10表示小兵

[
{"Num":1,"Value":14},
{"Num":2,"Value":10},
{"Num":3,"Value":5},
{"Num":4,"Value":8},
{"Num":5,"Value":13},
{"Num":6,"Value":16},
{"Num":7,"Value":1},
{"Num":8,"Value":4},
{"Num":9,"Value":6},
{"Num":10,"Value":7}
]



对于第二个问题就是单纯的碰撞检测了

在华容道的界面上,如果触摸的是空白的区域则无棋子移动,

如果触摸的是曹操,关羽,将军,小兵这些图片,则判断该图片是否可以移动


按 上,右,下,左 四个方向的顺序进行判断


如果 上 方向可以移动,则向上移动1单位,第二次在触摸这个对象的时候 ,按 上(上次移动方向) ,右,左, 下(上次移动方向的反方向)的方向进行判断是否可移动

类推 如果 下 方向可以移动,则向下移动1单位,第二次在触摸这个对象的时候 ,按 下(上次移动方向),左,右 , 上(上次移动方向的反方向)的方向进行判断是否可移动


这里碰撞判断 我写的是就判断他移动到的位置是不是 空白的,不是则就不能移动到这个位置



Cocos2dx2.2.3 win32

源码 http://yunpan.cn/cQqScHPTI5Mpu (提取码:6412)


apk

http://yunpan.cn/cQqSu7rq6NwST (提取码:0641)

猜你在找的Cocos2d-x相关文章