1. 程式人生 > >微信小遊戲-CocosCreator 基礎(二十)

微信小遊戲-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