creator刚体移动


                switch(this.key_code){
                    case cc.macro.KEY.right:
                        let v = this.rigid_body.linearVelocity
                        v.x=0
                        v.x+=dt*this.speed
                        this.rigid_body.linearVelocity=v
                        this.node.scaleX=1
                        break    
                }

我是通过设置linearVelocity的x,y来移动角色刚体的,但是每次使用之前都要把linearVelocity的x,y设置为0,不然会一直叠加,是不是不应该用linearVelocity控制游戏角色移动?

rigidbody.applyForce,rigidbody.applyForceToCenter,rigidbody.applyLinearImpulse这些方法应该在什么场景下使用呢?

哥,你写的是累加,linearVelocity是设置运动速度不是设置运动距离的,只需要设置一次,你按键的时候设置一个固定的值就可以了,不要累加,你把速度累加肯定越来越快啊

持续按键最好用rigidbody.applyForce 模拟持续施加作用力,物体会慢慢起步
applyLinearImpulse 一般在弹射时使用,让刚体立即获得一定时间的作用力 I=F x t
同时 I = m(质量) x v(已有的速度)