鼠标按钮单击不会注册

时间:2013-11-26 18:33:21

标签: button user-interface unity3d

var note : String = "blah"  

function OnGUI()
{

    if (IsPaused)
    {

        GUI.Box (Rect (580,20,100,210), "Pause");


        if (GUI.Button (Rect (590,130,80,20), "Info"))
        {
           Debug.Log("I pressed it");
           GUI.Button (Rect (450, 200, Screen.width/2, Screen.height/2), info);

        }


        else if (GUI.Button (Rect (590,160,80,20), "Quit")) 
        {

            Application.Quit();

        }



        else if(GUI.Button (Rect(590,190,80,35), "Back"))
        {

            IsPaused = false;

            GetComponent(LookAtMouse).enabled = true;

        }

}

这是我的GUI功能,你可以看到,我有三个按钮。退出和后退按钮工作正常但是当我点击信息按钮时,什么都不会注册。

我将GUI.Button (Rect (450, 200, Screen.width/2, Screen.height/2), info);这段代码放在if语句之外,以检查它是否有效,但是当它在语句中时我什么都没得到。

谁能告诉我为什么?

1 个答案:

答案 0 :(得分:0)

 var displayInfo : boolean = false;


 if (IsPaused)
        {

            GUI.Box (Rect (580,20,100,210), "Pause");


            displayInfo = GUI.Toggle(Rect (590,130,80,20), displayInfo, "Info");

            {
               if(displayInfo)
               {
                  GUI.Button (Rect (450, 200, Screen.width/2, Screen.height/2), info);
               }

            }

@rutter感谢您的想法,我使用了您的布尔思想并创建了一个切换来检查,如果显示信息,则在切换时创建文本字段的实例