C# 错误CS1525:意外符号';刚体&x27; 公共类移动:单一行为 { 公共价值; 公共价值; 私人刚体; //用于初始化 无效开始(){ 刚体=GetComponent(); } //每帧调用一次更新 无效更新(){ 如果(Input.GetButtonDown(“跳跃”)和&Mathf.Abs(刚体速度.y)

C# 错误CS1525:意外符号';刚体&x27; 公共类移动:单一行为 { 公共价值; 公共价值; 私人刚体; //用于初始化 无效开始(){ 刚体=GetComponent(); } //每帧调用一次更新 无效更新(){ 如果(Input.GetButtonDown(“跳跃”)和&Mathf.Abs(刚体速度.y),c#,C#,当我编译这段代码时。我得到: 动议.cs(19,3);错误CS1525:意外符号“刚体” 它为什么会发生以及如何修复?C#区分大小写。由于键入If(而不是If),编译器认为If是一个方法名。因此,在If方法调用的右括号之后,它需要一个分号,例如,而不是一个语句 这就是为什么你会犯这个小错误 这是工作代码: public class Move : MonoBehaviour { public float forceValue; public float jumpValue;

当我编译这段代码时。我得到:

动议.cs(19,3);错误CS1525:意外符号“刚体”

它为什么会发生以及如何修复?

C#区分大小写。由于键入
If
(而不是
If
),编译器认为
If
是一个方法名。因此,在
If
方法调用的右括号之后,它需要一个分号,例如,而不是一个语句

这就是为什么你会犯这个小错误

这是工作代码:

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);
    }


}
if(Input.GetButtonDown(“跳跃”)和&Mathf.Abs(rigidbody.velocity.y)<0.01f)
刚体.AddForce(Vector3.up*跳跃值,ForceMode.pulse);

用代码代替屏幕截图可能是IfWell中的大写字母I,请阅读并适当更新您的问题。如果你的问题结构合理,并且能提供一些支持,我们很乐意收回我们的所有投票。好吧,虽然OP有一个问题,并且对此感到满意,但我怀疑这对未来的读者会有很大帮助,因为这是一个简单的打字错误。@DavidG我对缺失的代码投了一票,这就是为什么我不能铸造一个新的。如果
在当前上下文中不存在,它不应该抱怨名称
吗?它可能是@davidg将代码扔进我的窗口并没有说明
刚体
无效。它不是无效的,只是出乎意料。是的,但我看到的唯一错误是
;应为
名称“If”不存在…
if (Input.GetButtonDown ("Jump") && Mathf.Abs (rigidbody.velocity.y) < 0.01f)
    rigidbody.AddForce(Vector3.up * jumpValue, ForceMode.Impulse);