Cocos creator物理引擎使用
Cocos Creator 是一個(gè)完整的游戲開發(fā)解決方案,包含了 cocos2d-x 引擎的JavaScript 實(shí)現(xiàn),以及快速開發(fā)游戲所需求的各種圖形界面東西。Cocos Creator 的編輯器完全為引擎定制打造,包含從規(guī)劃、開發(fā)、預(yù)覽、調(diào)試到發(fā)布的整個(gè)工作流所需的全功能,該編輯器供給面向規(guī)劃和開發(fā)的兩種工作流,供給簡(jiǎn)略順暢的分工合作方法。Cocos Creator 現(xiàn)在支持發(fā)布游戲到 Web、Android 和 iOS,真正實(shí)現(xiàn)一次開發(fā),全渠道工作。Cocos Creator 是以內(nèi)容創(chuàng)作為中心的游戲開發(fā)東西,在 Cocos2d-x 基礎(chǔ)上實(shí)現(xiàn)了完全腳本化、組件化和數(shù)據(jù)驅(qū)動(dòng)等特征。
今天我們來一起來說說Creator物理引擎的使用, 三步教你學(xué)會(huì)物理引擎。
第一步: 開啟物理引擎
(1):編寫一個(gè)js組件腳本,在onload函數(shù)里面實(shí)現(xiàn)如下代碼 ? ?
properties: {
? ? ? ?is_debug: false, // 是否顯示調(diào)試信息;
? ? ? ?// 重力加速度是一個(gè)向量, 有方向的,2D, Vec重力加速度的大小;
? ? ? ?gravity: cc.p(0, -320), // 系統(tǒng)默認(rèn)的
},
onLoad() {
? ? ? ?cc.director.getPhysicsManager().enabled = true; // 開啟了物理引擎
? ? ? ?if (this.is_debug) { // 開啟調(diào)試信息
? ? ? ? ? ?var Bits = cc.PhysicsManager.DrawBits;
? ? ? ? ? ?cc.director.getPhysicsManager().debugDrawFlags = Bits.e_jointBit | Bits.e_shapeBit;
? ? ? ?}
? ? ? ?else { // 關(guān)閉調(diào)試信息
? ? ? ? ? ?cc.director.getPhysicsManager().debugDrawFlags = 0;
? ? ? ?}
? ? ? ?// 重力加速度的配置
? ? ? ?cc.director.getPhysicsManager().gravity = this.gravity;
? },
? ? 注意,一定要把代碼寫入onLoad函數(shù)里面,開啟物理引擎,配置調(diào)試區(qū)域,設(shè)置物體重力, 不能在start里面;
第二步:配置游戲世界的物體類型:
? ? 根據(jù)游戲的情況配置好游戲的物體類型,和碰撞矩陣,如圖:


第三步: 配置物理物體:
添加一個(gè)剛體組件到節(jié)上,如圖:

?(2) 給節(jié)點(diǎn)上添加物理形狀:如圖;

第四步:碰撞檢測(cè):
? ?那個(gè)節(jié)點(diǎn)需要檢測(cè)碰撞,就在這個(gè)節(jié)點(diǎn)上掛一個(gè)腳本,在這個(gè)腳本上實(shí)現(xiàn)三個(gè)函數(shù):
? ?onBeginContact(contact, self, other): 碰撞開始 ?
? ?onEndContact(contact, self, othe): 碰撞結(jié)束
? ?contact: 獲取碰撞信息對(duì)象, self發(fā)生碰撞的自己的碰撞器組件實(shí)例 , other發(fā)生碰撞的別人的碰撞器組件實(shí)例,
通過碰撞器組件實(shí)例,可以獲得節(jié)點(diǎn),碰撞的節(jié)點(diǎn) other.node等。
更多資源請(qǐng)點(diǎn)擊:https://bycwedu.vipwan.cn/promotion_channels/630597732