初探CocosCreator:碰撞與物理系統

北橋蘇 2024-03-20 19:56:55
前言

不知道你剛開始玩碰撞時,會不會遇到始終無法觸發碰撞事件?玩物理系統時,自由落體的剛體會穿過 “地面” 剛體等情況?沒錯我全都遇到過,那麽下面我就用紅藍色方塊,簡單實戰一下 Cocos Creator 的碰撞與物理系統。

場景創建

場景很簡單,一個白色背景,兩個紅藍色玩家,和一個綠色大草地。創建的方式也很簡單,全部采用 Sprite 單色。

節點創建

層級管理器 ->Canvas 右鍵 -> 創建節點 -> 創建渲染節點 ->Sprite(單色)。

顔色填充

在屬性檢查器,找到 Node 下的 Color,選擇色盤裏的一顔色即可。

分組

由于物理和碰撞中都要用到,這裏就提前給兩個玩家和綠草地創建分組並分配好。在屬性檢查器的 Node 中,找到 Group 點擊編輯再添加,如下圖。

碰撞匹對

將三個分組進行碰撞的匹對,一定要勾選這個,不然後面測試碰撞無法觸發回調,而是直接穿過另一個物體。

碰撞系統測試

碰撞組件添加

碰撞組件有三種,Box(盒狀)、Circle(圓形)、Polygon(多邊形),可以根據不同的物體形狀選擇對應組件類型,比如像賽車的就可以選盒狀,合成西瓜的那種就可以選圓形。在層級管理器中選中節點,進入屬性檢查器,添加組件,選擇碰撞組件,Box Collider。

參數介紹(Box)

Tag: 用于給在同一節點下,標識不同碰撞組件的

Offset: 碰撞的中心點位置,用于給碰撞範圍定位

Size: 默認是物品節點的大小,其實是物體碰撞的範圍大小

腳本測試

創建腳本,開啓碰撞監聽和碰撞範圍繪制 Debug,update 中添加紅色方塊向右移動,設置碰撞産生的回調。最後拖入節點的屬性面板中,前提相關物品都添加了碰撞組件,並且也勾選了碰撞匹對。

物理系統測試

物理碰撞組件添加

選擇物理組件下的 Box(添加組件 -> 物理組件 ->Collider->Box),碰撞 + 剛體。參數就不介紹了,在編輯器裏懸浮文字就可以看到用法描述,不過 剛體(RigidBody)的 “Type” 需要注意一下。

腳本測試

腳本中開啓物理系統才可以看到自由落體效果,而碰撞監聽需要在屬性檢查器的剛體中 “Enabled Contact Listen” 開啓。

0 阅读:3

北橋蘇

簡介:專注後端實戰技術分享,致力于給猿友提供有價值的內容