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

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

詳解:十分鐘搞懂Cocos Creator碰撞組件的使用

2020-08-31 16:52 作者:博毅創(chuàng)為  | 我要投稿

序言

在Cocos Creator游戲開發(fā)過程中,經(jīng)常有需要檢測兩個(gè)物體是否發(fā)生碰撞的情況,諸如:子彈是否擊中敵人,玩家是否撞到障礙物,是否拾取到道具等等。下面我們就通過一個(gè)案例來演示Cocos Creator中的碰撞組件的使用。

一、UI設(shè)計(jì)

首先我們編輯案例場景如下,設(shè)置四個(gè)星星,其中右下角的星星為默認(rèn)分組default,其它三個(gè)星星設(shè)置分組為COLLIDER。勾選COLLIDER和COLLIDER的碰撞的分組配對。


二、碰撞檢測實(shí)現(xiàn)

由于所有的節(jié)點(diǎn)都是一個(gè)矩形,所以,我們首先讓相鄰的星星都旋轉(zhuǎn)起來,然后在旋轉(zhuǎn)的過程中,會(huì)有碰撞和離開的情況發(fā)生。之后再來處理碰撞回調(diào)。

1.讓星星旋轉(zhuǎn)起來

新建StarRotate.js,然后同時(shí)選中前面三個(gè)星星,給其添加此自定義組件。


然后左側(cè)星星設(shè)置旋轉(zhuǎn)速度為30,右側(cè)星星設(shè)置旋轉(zhuǎn)速度為-30,如下圖所示:


2.添加碰撞組件

由于碰撞引擎處理的是碰撞組件的碰撞。所以,需要給所有星星節(jié)點(diǎn)添加碰撞組件。


3.碰撞檢測處理

新建ColliderListener.js,給所有星星組件添加此自定義組件。


運(yùn)行結(jié)果如下,當(dāng)旋轉(zhuǎn)到兩個(gè)物體相互接觸的時(shí)候調(diào)用onCollisionEnter方法,碰撞的兩個(gè)組件節(jié)點(diǎn)變成紅色,將離開的時(shí)候調(diào)用onCollisionExit,碰撞脫離的兩節(jié)點(diǎn)變成白色。而屬于不同分組COLLIDER和default的兩個(gè)星星即使有接觸也不會(huì)進(jìn)行碰撞處理。


三、碰撞組件使用小結(jié)

1、Cocos Creator游戲引擎中碰撞引擎默認(rèn)是關(guān)閉的,需要程序員自己根據(jù)實(shí)際情況選擇是否開啟。

1. ?` ? ? ? ?// 開啟碰撞檢測、開啟調(diào)試模式(繪制碰撞器形狀)`2. ?` ? ? ? ?cc.director.getCollisionManager().enabled = true;`3. ?` ? ? ? ?cc.director.getCollisionManager().enabledDebugDraw = true;`

2、碰撞引擎只對勾選了分組配對的組上的節(jié)點(diǎn)進(jìn)行判斷,且只對具有碰撞組件的節(jié)點(diǎn)進(jìn)行碰撞處理。

3、另外需要注意的一點(diǎn)是,即使開啟了碰撞引擎,添加了碰撞組件,但是沒有書寫碰撞回調(diào)方法,也不會(huì)有任何效果。所以,如果注釋掉ColliderListener中的三個(gè)碰撞回調(diào)方法,就不會(huì)有任何效果。

具體API可以參考官網(wǎng)鏈接:https://docs.cocos.com/creator/api/zh/classes/CollisionManager.html?h=collisionmanager


詳解:十分鐘搞懂Cocos Creator碰撞組件的使用的評(píng)論 (共 條)

分享到微博請遵守國家法律
潍坊市| 巴林左旗| 顺平县| 玉山县| 阿荣旗| 吉木萨尔县| 若羌县| 双城市| 宜春市| 大英县| 涟源市| 双牌县| 灵宝市| 调兵山市| 莱芜市| 雅安市| 鹤岗市| 宁都县| 阿勒泰市| 塘沽区| 灵寿县| 上杭县| 城市| 滨海县| 郸城县| 福贡县| 三台县| 专栏| 苍梧县| 广安市| 乐业县| 呼图壁县| 搜索| 类乌齐县| 定兴县| 东明县| 宜丰县| 安平县| 浮山县| 安庆市| 开封市|