为什么我的GUI按钮在开始游戏时触发?

时间:2014-08-22 19:41:25

标签: unity3d unityscript

我一直在为我的游戏制作GUI菜单,我按照各种来源的说明进行操作,并使用统一网站的说明,我不确定我的部分代码是否不正确或是否它是游戏引擎中的一个错误,但当我点击播放时,按钮触发附加到它们的代码而不点击它们:

#pragma strict

var guiSkin : GUISkin;
private var Options : boolean;
var OptionsGUI : GameObject;
var MenuGUI : GameObject;

function Start ()
{

}
function OnGUI()
{
    GUI.Box(Rect(200, 360, 400, 75)," ");
    GUI.skin = guiSkin;
    GUI.Button(Rect(200, 135, 400, 75),"P L A Y");
    GUI.Button(Rect(200, 210, 400, 75),"O P T I O N S");
    {
        SetOptions();
    }
    GUI.Button(Rect(200, 285, 400, 75),"I N S T R U C T I O N S");
    GUI.Button(Rect(200, 360, 400, 75),"A B O U T");
}
function SetOptions ()
{   
    OptionsGUI.GetComponent(options).enabled = true;
    MenuGUI.GetComponent(menu).enabled = false;
}

有人告诉我那里有C#,但我没有在项目中使用过任何C#,如果可以指明它在哪里?

1 个答案:

答案 0 :(得分:0)

如果您正在谈论您的GUI.Button" O P T O O S",问题是:您需要使用" If"声明,因为下面的代码将始终执行:

GUI.Button(Rect(200, 210, 400, 75),"O P T I O N S");
{
    SetOptions();
}

正确的方法是:

if(GUI.Button(Rect(200, 210, 400, 75),"O P T I O N S"))
{
   SetOptions();
}