【Cocos入门】物理系统

在这里插入图片描述

物理引擎默认是关闭状态以节省资源开销。开启方法和之前的普通碰撞类似:cc.director.getPhysicsManager().enabled = true但有一个区别,物理引擎的开启必须放在onLoad函数内运行,否则不生效。
**在这里插入图片描述**

开启物理引擎后,游戏运行,会发现添加了刚体的节点会受到重力影响向下自由落体。当然刚才看到刚体组件还有属性面板,这些属性就是对刚体进行物理干预的属性:

  • Enabled Contact Listener–开启物理碰撞检测,这和物理碰撞有关
  • Bullet–防止高速移动的物体穿过墙面或地面等刚体
    Type–刚体类型:static静态刚体、kinematic不受外力影响、Dynamic动态刚体、Animated通过设置线速度
    和角速度驱动的刚体
  • Allow Sleep–允许刚体静止不动时进入睡眠状态,降低CPU占用率
  • Gravity Scale–重力倍数,1为1倍重力
  • Linear Damping–线性速度衰减系数、用于衰减刚体的线性速度,衰减系数可以大于1,当衰减系数比较大
    时,衰减的效果会变得比较敏感
  • Angular Damping–角速度衰减系数
  • Linear Velocity–线性初速度
  • Angular Velocity–角初速度
  • Fixed Rotation–禁止物体旋转
  • Awake On Load–是否在初始化时唤醒此刚体

除了直接在属性面板上设置一些刚体的物理量外,还可以通过代码的方式设置更多的物理量:

  • applyForce(force: cc.Vec2, point: cc.Vec2,wake: boolean)给刚体施加一个力,第一个参数是力在x、y轴上的大小分量,第二个参数是里的作用点,第三个参数是是否唤醒刚体。如果施加的力作用点不在质心上,还会对刚体产生旋转扭矩。
  • applyForceToCenter(force: cc.Vec2,wake: boolean)施加一个力到刚体的质心上
  • appylTorque(torque: number, wake: boolean)施加一个扭力
  • applyLinearlmpulse(impulse: cc.Vec2, point: cc.Vec2, wake: boolean)施加冲量
  • appplyAngularlmpulse(impulse: number wake: boolean)施加角速度冲量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Keep up

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值