所以我是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();
}
}
}
答案 0 :(得分:1)
我想您在这里缺少的是沿z轴的移动。
if (Input.GetKey("w"))
{
rb.AddForce(0, 0, forwardForce * Time.deltaTime, ForceMode.VelocityChange);
}
if (Input.GetKey("s"))
{
rb.AddForce(0, 0, -forwardForce * Time.deltaTime, ForceMode.VelocityChange);
}