public class Move : MonoBehaviour
{
public float forceValue;
public float jumpValue;
private Rigidbody rigidbody;
// Use this for initialization
void Start () {
rigidbody = GetComponent<Rigidbody> ();
}
// Update is called once per frame
void Update () {
If (Input.GetButtonDown ("Jump") && Mathf.Abs (rigidbody.velocity.y) < 0.01f)
rigidbody.AddForce(Vector3.up * jumpValue, ForceMode.Impulse);
}
void FixedUpdate() {
rigidbody.AddForce(new Vector3(Input.GetAxis ("Horizontal"),
0,
Input.GetAxis ("Vertical")) * forceValue);
}
}
编译此代码时。我明白了:
Move.cs(19,3);错误CS1525:意外符号'rigidbody'。
为什么会发生这种情况以及如何解决?
答案 0 :(得分:0)
C#区分大小写。由于拼写错误If
(而不是if
),编译器认为If
是方法名称。因此,在If
方法调用的右括号之后,它需要一个分号,例如,而不是一个语句。
这就是为什么你会得到一个不起眼的错误。
这是工作代码:
if (Input.GetButtonDown ("Jump") && Mathf.Abs (rigidbody.velocity.y) < 0.01f)
rigidbody.AddForce(Vector3.up * jumpValue, ForceMode.Impulse);