微信小遊戲-CocosCreator 基礎(二十)
Bullet:防止高度運動穿越,消耗效能 AllowSleep:一段時間物體的運動狀態不改變,就休眠剛體 grivaity Sacle :重力比例 Friction :0.2 阻力 Restitution :彈性係數 sensor:物體系統不做碰撞反應 ========================= 開啟物理引擎: 1: 編寫指令碼來開啟物理引擎; 2: 將這個指令碼掛載到場景的根節點; 3: 編寫除錯介面決定是否開啟物理引擎除錯; 4: cc.director.getPhysicsManager().enabled = true; // 開啟物理引擎 cc.director.getPhysicsManager().debugDrawFlags 除錯標誌; var Bits = cc.PhysicsManager.DrawBits; cc.director.getPhysicsManager().debugDrawFlags = Bits.e_jointBit | Bits.e_shapeBit; 5: cc.PhysicsManager: enable: 開啟 debugDrawFlags: 除錯標誌, gravity: 重力加速度,二維向量 ================================================= 重力加速度: 1: 物理引擎會有一個重力加速度,來模擬物理環境,你可以可以把重力加速度改成0,不受重力影響; 2: 修改重力加速度: cc.director.getPhysicsManager().gravity = cc.p(0, -320); ================================================ 物理剛體: 1: 剛體:形狀不會改變 2: 剛體分為靜態,動態剛體, 不受力的剛體(Kinematic,不受作用力的影響); 3: 剛體是受到物理作用的物體,由剛體帶著節點移動; 4: 剛體元件cc.RigidBoy: enabledContactListener: 是否開啟碰撞事件的監聽; bullet: 是否為子彈屬性,防止高速穿越; allowSleep: 是否允許進入休眠狀態,一段時間後如果物體沒有任何狀態改變會進入休眠狀態; gravityScale: 該物體收重力的縮放; linearDamping: 線性阻尼,衰減線性速度; angularDamping: 角速度阻尼,衰減角速度; linearVelocity: 剛體的線性速度; angularVelocity: 剛體的角速度; fixedRotation: 是否固定不旋轉; awake: 是否立刻喚醒此剛體; active: 是否啟用這個剛體,如果不啟用,那麼剛體不會參與碰撞; ==================================== 剛體碰撞器 1: 光有剛體還不夠,還要為每個剛體新增一個物理性狀; 2: 物理形狀的型別: 矩形物理碰撞器; 圓形物理碰撞器; 多邊形物理碰撞器; 鏈條碰撞器: PhysicsChainCollider; 3: 碰撞器的物理引數: Tag: 碰撞器的標記,區別一個節點上多個不同的碰撞器; Density: 相狀的密度; Sensor: 是否為一個碰撞感應器; Friction: 摩擦係數; Restitution: 彈性係數[0, 1], 0沒有彈性, 1完全彈性碰撞; Editing: 可以編輯碰撞器的形狀; 4: 一定要加物理碰撞器,而不是碰撞系統的碰撞器,非常容易出錯誤 =================================================== cc.Class({ extends: cc.Component,
properties: { is_debug: false, // 是否顯示除錯資訊; // 重力加速度是一個向量, 有方向的,2D, Vec重力加速度的大小; gravity: cc.p(0, -320), // 系統預設的 },
// use this for initialization onLoad: function () { // 遊戲引擎的總控制 // cc.Director, cc.director 區別呢 // 大寫的cc.Director是一個類, 小寫cc.direcotr全域性的例項 cc.director.getPhysicsManager().enabled = true; // 開啟了物理引擎 // 獨立的形狀,開啟一個除錯區域,遊戲影象的,邏輯區域; // 開始除錯模式: if (this.is_debug) { // 開啟除錯資訊 var Bits = cc.PhysicsManager.DrawBits; // 這個是我們要顯示的型別 cc.director.getPhysicsManager().debugDrawFlags = Bits.e_jointBit | Bits.e_shapeBit; //二進位制計算://a&b 與運算,會返回a和b中每個位(位元,即二進位制)最小的值; //a|b 或運算,會返回a和b中每個位(位元,即二進位制)最大的值; } else { // 關閉除錯資訊 cc.director.getPhysicsManager().debugDrawFlags = 0; } // 重力加速度的配置 cc.director.getPhysicsManager().gravity = this.gravity; },
}); ========================================= js列舉使用: var curChannel = '210'; var channels={ a : '220', b : '221', c : '222' }; if (curChannel in channels) { alert("含有這個屬性值"); } else { alert("不含有這個屬性值"); } if ('a' in channels) { // 檢查屬性名 alert("檢查屬性-true"); } else { alert("檢查屬性-false"); }
遍歷列舉) var CH={A:1,B:2,C:3} for(i in nem) alert(nem[i]); https://blog.csdn.net/diligentcatrich/article/details/6535998 https://blog.csdn.net/u013654125/article/details/77867567