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型,讓他可以存儲小數值,使我們的跳躍速度更精確,這時候,上升下降的動作變爲勻減速和勻加速運動。

如有錯誤之處,希望大家多多指正

下一篇繼續簡易動作遊戲實例


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章