cocos2d-x游戏实例(26)-简易动作游戏(4)

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

继续上一篇的简易动作游戏,本篇加入主角的跳跃,以及在跳跃过程中的碰撞检测,在动作游戏中跳跃是很重要的部分,首先来看效果:


首先是需要在操作的部分作修改,首先来看ccTouchesBegan函数的修改:


在之前对x轴运动的判断基础上,加入了对y轴的操控部分,即以主角的中心的水平线为基准,按键在此基准线之下的仅水平移动,即将y轴的初始速度设为0,在基准线之上的就会跳起来,即把y轴初始速度设为6(向上的初速度),而水平速度则取决于之前的判断,这里需要注意的还是之前的问题,就是我们获得的主角的xy坐标是相对于地图的坐标,我们要获得他和屏幕的绝对位置的坐标还要加上地图的坐标。

下面来看处理纵坐标碰撞函数部分的修改,来看playermapvcollision函数:


首先加入判断,在我们发现主角踩在碰撞块上的时候只有当速度小于0,主角处于下降状态的时候,我们才作停止物体运动,矫正位置等处理,因为上升的过程中作碰撞处理会使我们的人物跳不起来(因为我们的人物一直踩在碰撞块上),当脚下没有碰撞块时每帧给y轴方向的速度减0.2,这是我调过的结果,我觉得这样的跳跃动作速度比较合理。这里还需要注意的是,我修改了vmove的类型,变为double型,让他可以存储小数值,使我们的跳跃速度更精确,这时候,上升下降的动作变为匀减速和匀加速运动。

如有错误之处,希望大家多多指正

下一篇继续简易动作游戏实例


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值