如何破力?

时间:2018-10-25 17:41:34

标签: c# visual-studio unity3d

我为某些项目反射游戏统一工作,并创建了代码来移动按下按钮的玩家,并保持前进速度。仅在按下按钮时才需要释放前进速度,这时单击按钮前进速度将永远持续下去。

void FixedUpdate()
    {

        if ( moveLeft == true)
        {
            rb.AddForce(0, 0, forwardForce * Time.deltaTime);
        }
        else if(moveLeft == false)
        {
            rb.AddForce(0, 0, 0);
        }

        if (moveRight == true)
        {
            rb.AddForce(0, 0, forwardForce * Time.deltaTime);

        }
        else if (moveRight == false)
        {
            rb.AddForce(0, 0, 0);

        }

    }

    public void RightMove()
    {
        playerController.transform.position += Vector3.right * 100f * Time.deltaTime;
        moveRight = true;

    }

    public void LeftMove()
    {
        playerController.transform.position += Vector3.left * 100f * Time.deltaTime;
        moveLeft = true;
    }

2 个答案:

答案 0 :(得分:0)

要在释放按钮时停止吗?将rb.velocity设置为Vector3.zero

答案 1 :(得分:0)

在RigidBody组件中,将线性阻力设置为1或所需的任何值,它将缓慢降低刚体的速度。