CocosCreator | 给节点施加力、冲量、防止穿墙

本文介绍了在CocosCreator中如何为节点施加力和冲量,以实现动态移动,同时讲解了防止穿墙的物理引擎特性。通过示例代码展示了应用线性冲量的方法,包括冲量大小、作用点和唤醒刚体的设置,并提供了GitHub上的完整demo链接供预览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      this.targetBody
        .getComponent(cc.RigidBody)
        .applyLinearImpulse(
          force,
          this.targetBody.getComponent(cc.RigidBody).getWorldCenter(),
          true
        )

1. 首先获取节点的RigidBody

2. 施加线性冲量applyLinearImpulse,有三个参数

(method) cc.RigidBody.applyLinearImpulse(impulse: cc.Vec2, point: cc.Vec2, wake: boolean): void

参数1:impulse: cc.Vec2

    冲量,类型是cc.Vec2向量---世界坐标,例如 cc.v2(0, 1000) 表示竖直向上的冲量,

参数2:point: cc.Vec2

    力作用点,类型是cc.Vec2向量类型---世界坐标,例如 node.getComponent(cc.RigidBody).getWorldCenter()获取质心---世界坐标。

参数3:wake: boolean

    是否唤醒刚体,类型是布尔值。意思是,刚体如果撞到障碍停下,则需要唤醒才可以再次施加力。

 

物理引擎自带了防止穿墙效果,但是你不能直接操作节点的position属性,必须通过施加力来移动节点。

 

我写的一个demo,代码在github上面<

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值