Unity 3D中的玩家移动

问题描述 投票:2回答:1

所以我是Unity的新手,我关注一个叫Brackeys的YouTuber,但是当我执行他的角色移动代码时,我的角色不会前进或后退,而是以超快的速度前进。我是新来的,所以对此我不太了解。这是代码:

using UnityEngine;

公共类PlayerMovement:MonoBehaviour{

public Rigidbody rb;

private float forwardForce = 2000f;  
public float sidewaysForce = 500f;  

void FixedUpdate()
{

    rb.AddForce(0, 0, forwardForce * Time.deltaTime);

    if (Input.GetKey("d"))  
    {

        rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
    }

    if (Input.GetKey("a"))  
    {

        rb.AddForce(-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
    }

    if (rb.position.y < -1f)
    {
        FindObjectOfType<GameManager>().EndGame();
    }
}

}

c# visual-studio unity3d game-engine game-physics
1个回答
0
投票

我认为您在这里缺少的是沿z轴的移动。

© www.soinside.com 2019 - 2024. All rights reserved.