unity3D出错:分析器错误

时间:2014-01-25 21:06:33

标签: c# unity3d computer-science game-engine

我正在尝试在Unity 3D中创建2D游戏,但我收到以下错误:

  

解析错误:只能将赋值,调用,递增,递减,等待和新对象表达式用作语句

我已按照指南进行操作,但我仍然收到错误。

我的代码:

using UnityEngine;
using System.Collections;

public class Movement : MonoBehaviour {

public float maxSpeed = 10f;
bool facingRight = true;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void FixedUpdate () {
    float move = Input.GetAxis ("Horizontal");
    rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
    if(move > 0 &&! facingRight){
        Flip ();
    }
    else if(move < 0 && facingRight){
        Flip ();
    }
}
void Flip () {
    facingRight != facingRight;
    Vector3 theScale = transform.localScale;
    theScale.x *= -1;
    transform.localScale = theScale;
}
    }

1 个答案:

答案 0 :(得分:1)

这是由以下声明引起的

facingRight != facingRight;

!=inequality operator。如果双方不相等则返回true,如果双方相等则返回false。它的对应部分是==运算符。

你最有可能做的是

facingRight = !facingRight;

这将facingRight设置为右侧的任何内容。哪个是!facingRight,这当然会导致facesRight在当前为false时变为true,如果当前为true则为false。

P.S。您通常可能希望包含错误发生的行。 Unity应该告诉你这件事。