cocos creator学习14——物理引擎的开启与组件说明

物理引擎

1.开启物理引擎

cocos2d有一个开启物理引擎的全局变量——director.getPhysicsManager.enabled 为true则开启物理引擎

cc.director.getPhysicsManager().enabled = true;

1.1调试模式开启

给指定物理系统需要绘制哪些调试信息

var draw = cc.PhysicsManager.DrawBits;
cc.director.getPhysicsManager().debugDrawFlags = draw.e_shapeBit|draw.e_jointBit;

1.2重力

cc.director.getPhysicsManager().gravity 为物理引擎的全局变量,作为’重力’。实质默认是一个cc.p(0,-320)向量。

2.给节点绑定相关组件

给组件绑定RigidBody 组件(即为刚体组件)和相关物理碰撞器组件,一定是从物理组件中的碰撞组件才有效,否则无效。
cocos creator学习14——物理引擎的开启与组件说明_第1张图片

2.1刚体类型

刚体分3种类型,静态、不受外力、动态刚体。
cocos creator学习14——物理引擎的开启与组件说明_第2张图片
使用静态刚体与动态刚体即可模拟出物体从空中落下的情况
cocos creator学习14——物理引擎的开启与组件说明_第3张图片

2.2刚体属性

刚体属性 功能
enabledContactListener 是否开启碰撞事件的监听
bullet 是否为子弹属性,防止高速穿越
allowSleep 是否允许进入休眠状态,一段时间后如果物体没有任何状态改变会进入休眠状态
gravityScale 该物体收重力的缩放
linearDamping 线性阻尼,衰减线性速度
angularDamping 角速度阻尼,衰减角速度
linearVelocity 刚体的线性速度
angularVelocity 刚体的角速度
fixedRotation 是否固定不旋转
awake 是否立刻唤醒此刚体
active 是否激活这个刚体,如果不激活,那么刚体不会参与碰撞

主要要提比较特殊的子弹属性,子弹属性比较特别,当某刚体的速度非常快的时候
cocos creator学习14——物理引擎的开启与组件说明_第4张图片
计算机会出现计算的忽略 的效果如下
cocos creator学习14——物理引擎的开启与组件说明_第5张图片
子弹会非常快的穿过物体,而不会撞击
为了防止高速穿越,只需要把RigidBody的bullet属性勾选上即可解决
cocos creator学习14——物理引擎的开启与组件说明_第6张图片

2.3刚体碰撞器属性说明

属性 属性说明
Tag 碰撞器的标记,区别一个节点上多个不同的碰撞器
Density 相状的密度
Sensor 是否为一个碰撞感应器
Friction 摩擦系数
Restitution 弹性系数[0, 1], 0没有弹性, 1完全弹性碰撞
Editing 可以编辑碰撞器的形状

开启物理引擎后,所有的碰撞计算实质都是由碰撞器决定,碰撞器代表着碰撞的物体形状,若节点没有绑定碰撞器组件,一切的碰撞也只能是贴图重叠的效果。

你可能感兴趣的:(cocos,creator)