布尔变量和小编码错误

时间:2014-04-14 03:57:13

标签: c# variables boolean

基本上我在游戏中制作一个变量,当玩家通过碰撞器时它会显示所显示的消息。但是,如果有人可以帮我,我会有一些错误。我不确定我到底出了什么问题,而且非常令人沮丧。

using UnityEngine;
using System.Collections;

public class showMessage : MonoBehaviour {
    GameObject player;
    private bool  startLap;

    void  OnTriggerEnter ( Collider other  ){
        if(other.tag == "Player") {
            bool = true;
        }
    }

    void  OnGUI (){
        if(bool == true) {
            if(GUI.Button ( new Rect(100, 100, 500, 40), "Help! I lost my car. Find it through this maze for me?")) {
                Debug.Log("Door Works!");
                bool = false;

            }
        }


    }
}

确定bool bool刚看到:\

我得到的错误是:

  

(10,30):错误CS1525:意外的符号=', expecting。&#39;,?', [&#39;,<operator>', or标识符&#39;

     

(15,26):错误CS1525:意外符号==', expecting。&#39;   错误CS1525:意外的符号=', expecting。&#39;

     

错误CS8025:解析错误

2 个答案:

答案 0 :(得分:3)

bool 是布尔值数据类型的保留关键字 - 不要将其用作字段名称,否则会出现许多编译错误。将此字段重命名为其他字段。

您的代码必须如下所示:

using UnityEngine;

public class showMessage : MonoBehaviour
{
    private bool startLap;

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Player")
        {
            startLap = true;
        }
    }

    void OnGUI()
    {
        if (startLap)
        {
            if (GUI.Button(new Rect(100, 100, 500, 40), "Help! I lost my car. Find it through this maze for me?"))
            {
                Debug.Log("Door Works!");
                startLap = false;
            }
        }
    }
}

答案 1 :(得分:2)

private bool startLap;

此变量的类型为bool,名称为startLap

考虑一下你可能有很多这样的变量:

private bool startLap;
private bool foo;
private bool bar;

它们都有不同的名称,但类型相同bool

现在在你的代码中,你有

bool = true;

if(bool == true) {

bool = false;

他们指的是哪个变量?从您的示例中,我可以猜测,因为那里只有bool个,但由于可能是其他人,您必须按名称引用所有变量,而不是类型:< / p>

startLap= true;

if(startLap== true) {

startLap= false;