cocos2d-x游戏实例(18)-纵版射击游戏(5)
小滿(bill man)個(gè)人原創(chuàng),歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
繼續(xù)上一篇的縱版射擊游戲,本篇加入子彈邏輯,和敵人的碰撞及爆炸特效,效果如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
首先看一下如何加入子彈邏輯,上一篇我們已經(jīng)寫在了子彈類的tick里,那么如何調(diào)用在如下的代碼里:
這就是將子彈都放入一個(gè)數(shù)組里的好處,這樣我們不必單獨(dú)處理每個(gè)子彈,而是數(shù)組遍歷就好了,首先判斷子彈是否在被顯示中,如果在顯示中那么我們就調(diào)用子彈邏輯并且當(dāng)子彈出屏幕時(shí),我們將子彈設(shè)置為不顯示。
下面來看與敵人的碰撞處理:
首先說明一下,現(xiàn)在同屏的敵人只有一個(gè),之后的例子里敵人會(huì)逐漸多起來,我也會(huì)采用數(shù)組的處理方式,如果敵人是可見的那么首先調(diào)用敵人邏輯,然后判斷主角碰撞(這個(gè)在之前的文章中已經(jīng)提到過),然后遍歷子彈,如果子彈在顯示,那么判斷和子彈的碰撞,如果碰撞,那么首先把敵人和子彈都設(shè)置為不顯示,然后做一個(gè)粒子的特效,這里我們使用CCParticleSystemQuad來做粒子特效,使用一個(gè)plist文件,下面來看檢查碰撞函數(shù):
和之前檢測主角的類似,但是,我們這里沒有位置校正,所以,就會(huì)簡單一些,只要兩個(gè)物體的中心距離的橫縱坐標(biāo)分別小于邊長一半的和即可,具體可以見我之前的文章。
如有錯(cuò)誤之處,希望大家多多指正
下一篇繼續(xù)縱版射擊游戲?qū)嵗?/p>
總結(jié)
以上是生活随笔為你收集整理的cocos2d-x游戏实例(18)-纵版射击游戏(5)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cocos2d-x游戏实例(17)-纵版
- 下一篇: cocos2d-x游戏实例(19)-纵版