我一直在关注unity3D太空射击教程系列。它是为Unity 4制作的,我相信,当Unity 5发布时,他们发布了一份文档,说明我们必须做的所有更改,以便遵循Unity 5中的教程。
我正在尝试访问游戏对象的刚体组件。
我试过
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
void FixedUpdate(){
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
_rb = GetComponent<Rigidbody> ();
_rb.position = new Vector3 (moveHorizontal, 0.0f, moveVertical);
}
}
然而,控制台给了我这个错误。
Assets/_Scripts/PlayerController.cs(12,17): error CS0103: The name `_rb' does not exist in the current context
我对C Sharp很新。所以,我甚至不知道基本的语法。
它指向第一行。
答案 0 :(得分:2)
您的代码中似乎有拼写错误。你的代码中的某个地方 _rb 而非 rb 。
将 _rb 更改为 rb 。
这可能在第12行。如果情况并非如此,请将整个代码发布在 PlayerController 脚本中。
public class PlayerController : MonoBehaviour {
Rigidbody _rb; //DECLARE _rb
void FixedUpdate(){
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
_rb = GetComponent<Rigidbody> ();
_rb.position = new Vector3 (moveHorizontal, 0.0f, moveVertical);
}
}