cocos2d-x游戏实例(25)-简易动作游戏(3)
2012-04-14 18:35
246 查看
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man
本篇进行垂直方向上的碰撞检测,测试的方法就是把主角的初始高度设高,让主角落至地面:
来看判断垂直方向的碰撞的函数playermapvcollision:
前面几句是获得主角的位置和宽高以及获得地图,然后通过如下几句获得主角在地图上的索引横纵坐标并进一步获得主角所在图素块的tilegid :
indexx = (playerpoint.x) / map->getTileSize().width;
indexy = map->getMapSize().height - (playerpoint.y) / map->getTileSize().height;
CCPoint playerindex = ccp(indexx,indexy);
int tilegid = layer->tileGIDAt(playerindex);
当获得纵坐标的时候需要注意的是纵坐标除以图素高并不能直接获得在地图中的图素纵坐标索引,因为地图的索引是从左上角开始的,而坐标是从左下角开始,所以需要转换一下,用整个地图的纵坐标格数map->getMapSize().height减去我们纵坐标除以图素高的值便是主角所在位置的纵坐标索引值。接下来获得之前定义的“collion”值,如果“collion”值为1,那么停掉主角在纵坐标运动的标志vmove,否则vmove会被设置为1,也就是让主角一直延纵坐标移动。
然后在update中调用playermapvcollision,然后在处理纵坐标的位移,这里只是简单的让主角作匀速直线运动
如有错误之处,希望大家多多指正
下一篇继续简易动作游戏实例
本篇进行垂直方向上的碰撞检测,测试的方法就是把主角的初始高度设高,让主角落至地面:
来看判断垂直方向的碰撞的函数playermapvcollision:
前面几句是获得主角的位置和宽高以及获得地图,然后通过如下几句获得主角在地图上的索引横纵坐标并进一步获得主角所在图素块的tilegid :
indexx = (playerpoint.x) / map->getTileSize().width;
indexy = map->getMapSize().height - (playerpoint.y) / map->getTileSize().height;
CCPoint playerindex = ccp(indexx,indexy);
int tilegid = layer->tileGIDAt(playerindex);
当获得纵坐标的时候需要注意的是纵坐标除以图素高并不能直接获得在地图中的图素纵坐标索引,因为地图的索引是从左上角开始的,而坐标是从左下角开始,所以需要转换一下,用整个地图的纵坐标格数map->getMapSize().height减去我们纵坐标除以图素高的值便是主角所在位置的纵坐标索引值。接下来获得之前定义的“collion”值,如果“collion”值为1,那么停掉主角在纵坐标运动的标志vmove,否则vmove会被设置为1,也就是让主角一直延纵坐标移动。
然后在update中调用playermapvcollision,然后在处理纵坐标的位移,这里只是简单的让主角作匀速直线运动
如有错误之处,希望大家多多指正
下一篇继续简易动作游戏实例
相关文章推荐
- cocos2d-x游戏实例(25)-简易动作游戏(3)
- cocos2d-x游戏实例(24)-简易动作游戏(2)
- cocos2d-x游戏实例(27)-简易动作游戏(5)
- cocos2d-x游戏实例(28)-简易动作游戏(6)
- cocos2d-x游戏实例(23)-简易动作游戏(1)
- cocos2d-x游戏实例(24)-简易动作游戏(2)
- cocos2d-x游戏实例(26)-简易动作游戏(4)
- cocos2d-x游戏实例(26)-简易动作游戏(4)
- cocos2d-x游戏实例(27)-简易动作游戏(5)
- cocos2d-x游戏实例(28)-简易动作游戏(6)
- cocos2d-x游戏实例(23)-简易动作游戏(1)
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第四步--地图循环&主角加入动作
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第四步--地图循环&主角添加动作
- cocos2d-x游戏实例(13)-简易摇杆控制主角
- cocos2d-x游戏实例(13)-简易摇杆控制主角
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第三步---主角开跑&同时带着刚体
- cocos2d-x游戏引擎核心之四——动作调度机制
- cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)
- cocos2d-x游戏实例(17)-纵版射击游戏(4)
- cocos2d-x动作游戏的小技术点