基本上我在游戏中制作一个变量,当玩家通过碰撞器时它会显示所显示的消息。但是,如果有人可以帮我,我会有一些错误。我不确定我到底出了什么问题,而且非常令人沮丧。
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;,<operator>', or
标识符&#39;(15,26):错误CS1525:意外符号
==', expecting
。&#39; 错误CS1525:意外的符号=', expecting
。&#39;错误CS8025:解析错误
答案 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;