#pragma strict
private Rigidbody rb;
function Start () {
rb = GetComponent<Rigidbody>();
}
function FixedUpdate () {
var v : float = Input.GetAxis("Vertical");
var h : float = Input.GetAxis("Horizontal");
Vector3 movement = new Vector3 (h, 0.0f, v);
rb.AddForce (movement);
}
我希望通过一些代码向我展示答案。感谢您抽出宝贵时间回复。
答案 0 :(得分:0)
您在代码中混合使用Javascript和C#。它们是两种不同的语言。以下是问题:
private Rigidbody rb;
,rb = GetComponent<Rigidbody>();
和Vector3 movement = new Vector3 (h, 0.0f, v);
。
我建议您立即切换到C#,因为Unity建议您这样做。大多数最新文档都没有Javascript示例,看起来Javascript支持将在未来删除。
我注释掉了错误的代码,这样你就可以从错误中吸取教训。这是您的固定代码:
#pragma strict
//private Rigidbody rb;
private var rb:Rigidbody;
function Start () {
//rb = GetComponent<Rigidbody>();
rb = GetComponent.<Rigidbody>();
}
function FixedUpdate () {
var v : float = Input.GetAxis("Vertical");
var h : float = Input.GetAxis("Horizontal");
//Vector3 movement = new Vector3 (h, 0.0f, v);
var movement = Vector3(h, 0.0f, v);
rb.AddForce (movement);
}