在团结中增加力量

本文关键字:增加 力量 | 更新日期: 2023-09-27 18:17:42

我想让玩家在我释放箭头按钮时立即停止移动,但由于rigidBody2D的影响,它一直在滑动。addForce。下面是我的代码:

void Update () {
    forceX = 0f;
    var absVelX = Mathf.Abs (GetComponent<Rigidbody2D>().velocity.x);
    var absVelY = Mathf.Abs (GetComponent<Rigidbody2D>().velocity.y);
    if (controller.moving.x != 0) {
        if (absVelX < maxVelocity.x) {
            forceX = speed * controller.moving.x;
            transform.localScale = new Vector3 (forceX > 0 ? 1 : -1, 1, 1);
            animator.SetInteger ("Controller", 1);
        }else if (controller.moving.x == 0) {
        }

    } else {
        animator.SetInteger ("Controller", 0);
    }
    GetComponent<Rigidbody2D>().AddForce(new Vector2 (forceX, 0));
}

提前感谢。

在团结中增加力量

当你向刚体添加一个力时,物理引擎会增加它的速度。在每次物理更新中,物理引擎都会根据碰撞、摩擦等修改速度,然后根据新速度计算新位置。如果你想让刚体立即停止移动,你必须将速度设置为零:

GetComponent<Rigidbody2d>().velocity = Vector2.zero;