最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【飛機(jī)游戲】【Cocos】【P2】實(shí)現(xiàn)飛機(jī)和子彈的碰撞邏輯

2023-07-20 12:48 作者:Code有毒  | 我要投稿

0 上一期我們實(shí)現(xiàn)了創(chuàng)建敵機(jī)以及發(fā)生敵機(jī)子彈的功能。本期我們將實(shí)現(xiàn)飛機(jī)與子彈間的碰撞邏輯。

0.1 設(shè)置碰撞檢測(cè)邏輯。

0.2 設(shè)置飛機(jī)和子彈的碰撞盒。

0.3 處理飛機(jī)發(fā)生碰撞后的行為。

0.4 處理子彈發(fā)生碰撞后的行為。

1.0 設(shè)置碰撞檢測(cè)邏輯。

1.1 我們首先彈出引擎的Project欄的Projection Settings框。

1.2 選中Physics欄,在Collision Matrix里輸入4個(gè)對(duì)象分別表示玩家飛機(jī)、敵機(jī)、玩家子彈、敵機(jī)子彈。碰撞矩陣的邏輯是一個(gè)2進(jìn)制掩碼的矩陣。通過(guò)邏輯判斷即可設(shè)置其碰撞邏輯。此時(shí)玩家飛機(jī)能與敵機(jī)和敵機(jī)子彈碰撞,敵機(jī)能與玩家飛機(jī)及玩家子彈碰撞,玩家子彈可以與敵機(jī)和敵機(jī)子彈碰撞,敵機(jī)子彈可以與玩家飛機(jī)及玩家子彈碰撞。


2.0 設(shè)置飛機(jī)和子彈的碰撞盒。

2.1 進(jìn)入玩家飛機(jī)的預(yù)制信息(prefab)。

2.2 點(diǎn)擊Add Component添加碰撞碰撞包圍盒,調(diào)整包圍盒的尺寸及位置,讓其貼合這包裹住飛機(jī)模型。

2.3 再次點(diǎn)擊Add Component將玩家飛機(jī)設(shè)置為運(yùn)動(dòng)學(xué)剛體,碰撞類型設(shè)置為玩家飛機(jī)(SELF_PANE)。

2.3 使用相似的邏輯設(shè)置敵機(jī)的碰撞信息。不同的地方在于敵機(jī)的碰撞類型要設(shè)置為ENEMY_PANE。

2.4 使用相似的邏輯設(shè)置子彈的碰撞信息。此時(shí)子彈的碰撞類型有兩種:一種是玩家子彈(SELF_BULLET),另一種是敵機(jī)子彈(ENEMY_BULLET)。我們此時(shí)只需要設(shè)置為其中一種情況即可。之后在腳本中的實(shí)例化子彈模塊里我們可以再靈活處理其碰撞類型。

?


3.0 處理飛機(jī)發(fā)生碰撞后的行為。

3.1 在constant中添加4種碰撞類型。

3.2 設(shè)置玩家飛機(jī)的碰撞事件監(jiān)聽回調(diào)函數(shù)。當(dāng)玩家飛機(jī)與敵機(jī)及敵機(jī)子彈碰撞時(shí),在控制面板打印掉血(實(shí)際的掉血工作之后再開發(fā))。

3.3 設(shè)置敵機(jī)的碰撞事件監(jiān)聽回調(diào)函數(shù)。當(dāng)敵機(jī)與玩家飛機(jī)及玩家子彈碰撞時(shí),銷毀敵機(jī)實(shí)例對(duì)象的節(jié)點(diǎn)。

?


4.0 處理子彈發(fā)生碰撞后的行為。

4.1 在實(shí)例化敵機(jī)和玩家子彈時(shí),設(shè)置對(duì)像碰撞的Group類型,以及掩碼類型。其中敵機(jī)子彈的Group為SELEF_BULLET,掩碼為ENEMY_PLANE和ENEMY_BULLET。玩家子彈的Group為ENEMY_BULLET,掩碼為SELEF_PLANE和SELEF_BULLET。

4.2 設(shè)置敵機(jī)子彈的碰撞事件監(jiān)聽回調(diào)函數(shù)。子彈只要一發(fā)生碰撞就直接銷毀實(shí)例的對(duì)象節(jié)點(diǎn)。

4.3 運(yùn)行游戲后可以看到。


【飛機(jī)游戲】【Cocos】【P2】實(shí)現(xiàn)飛機(jī)和子彈的碰撞邏輯的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
北川| 肥城市| 韶关市| 屏边| 昌宁县| 昭觉县| 株洲县| 新干县| 清原| 旺苍县| 仙居县| 沽源县| 博罗县| 鹰潭市| 维西| 友谊县| 略阳县| 石城县| 特克斯县| 神木县| 奉贤区| 南郑县| 精河县| 古田县| 贞丰县| 石家庄市| 恩平市| 循化| 视频| 沂水县| 托里县| 闽侯县| 岑溪市| 铁岭县| 北海市| 义马市| 榆林市| 鹤山市| 连江县| 黔南| 广灵县|