我正在尝试在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;
}
}
答案 0 :(得分:1)
这是由以下声明引起的
facingRight != facingRight;
!=
是inequality operator。如果双方不相等则返回true,如果双方相等则返回false。它的对应部分是==
运算符。
你最有可能做的是
facingRight = !facingRight;
这将facingRight
设置为右侧的任何内容。哪个是!facingRight
,这当然会导致facesRight在当前为false时变为true,如果当前为true则为false。
P.S。您通常可能希望包含错误发生的行。 Unity应该告诉你这件事。