cocos2d-x游戏实例(26)-简易动作游戏(4)
小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
繼續上一篇的簡易動作游戲,本篇加入主角的跳躍,以及在跳躍過程中的碰撞檢測,在動作游戲中跳躍是很重要的部分,首先來看效果:
首先是需要在操作的部分作修改,首先來看ccTouchesBegan函數的修改:
在之前對x軸運動的判斷基礎上,加入了對y軸的操控部分,即以主角的中心的水平線為基準,按鍵在此基準線之下的僅水平移動,即將y軸的初始速度設為0,在基準線之上的就會跳起來,即把y軸初始速度設為6(向上的初速度),而水平速度則取決于之前的判斷,這里需要注意的還是之前的問題,就是我們獲得的主角的x,y坐標是相對于地圖的坐標,我們要獲得他和屏幕的絕對位置的坐標還要加上地圖的坐標。
下面來看處理縱坐標碰撞函數部分的修改,來看playermapvcollision函數:
首先加入判斷,在我們發現主角踩在碰撞塊上的時候只有當速度小于0,主角處于下降狀態的時候,我們才作停止物體運動,矯正位置等處理,因為上升的過程中作碰撞處理會使我們的人物跳不起來(因為我們的人物一直踩在碰撞塊上),當腳下沒有碰撞塊時每幀給y軸方向的速度減0.2,這是我調過的結果,我覺得這樣的跳躍動作速度比較合理。這里還需要注意的是,我修改了vmove的類型,變為double型,讓他可以存儲小數值,使我們的跳躍速度更精確,這時候,上升下降的動作變為勻減速和勻加速運動。
如有錯誤之處,希望大家多多指正
下一篇繼續簡易動作游戲實例
總結
以上是生活随笔為你收集整理的cocos2d-x游戏实例(26)-简易动作游戏(4)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cocos2d-x游戏实例(25)-简易
- 下一篇: cocos2d-x游戏实例(27)-简易