cocos2d-x游戏实例(21)-纵版射击游戏(8)
小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
上一篇為敵人添加了子彈,本篇為主角添加受傷并添加表示主角血量的ui,首先來看效果圖:
? ? ? ? ? ? ? ? ? ? ? ? ? ??
首先可以注意到左下角表示出了主角的血量,實現的代碼如下:
就是為定義三個基于這張圖片的變量并把它表示在界面上,并用一個變量存儲主角當前的血量playlife,在每次主角受傷的時候,我做如下的處理:
我們為主角的血量變量減1,然后“熄滅”一個血量ui,之后處理主角的“受傷”動作,我們給主角加上CCBlink動作,并且用一個變量isreduce來記錄當前主角的受傷狀態,因為這個時候,主角是不應該再被檢測受傷的,會獲得一段時間的“無敵時間”,然后再動作5.0s結束后,我們再把isreduce設回false。
下面的代碼是檢測主角和敵人子彈的碰撞
如果isreduce為false,也就是說主角不是受傷狀態,就遍歷一遍子彈數組,檢測碰撞,用之前的iscollision檢測碰撞,如果碰撞,則調用之前的reduceLife函數并把,子彈設置為不顯示,以下為iscollision函數。
然后就是檢測敵人與主角的碰撞,在敵人的邏輯中實現:
就是如果敵人與主角碰撞,那么敵人死亡,設置粒子系統,并調用主角reduceLife,然后再2.0s后讓敵人重生。
如有錯誤之處,希望大家多多指正
下一篇繼續縱版射擊游戲實例
總結
以上是生活随笔為你收集整理的cocos2d-x游戏实例(21)-纵版射击游戏(8)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cocos2d-x游戏实例(20)-纵版
- 下一篇: cocos2d-x游戏实例(22)-纵版