Unity中的GUI.Toggle按钮不会关闭弹出窗口

时间:2014-03-27 18:28:13

标签: android user-interface unity3d popupwindow unityscript

我有以下脚本打开GUI.Window作为弹出窗口,带有切换按钮。在Unity3d编辑器中,脚本运行o.k.,单击窗口打开 - 关闭切换按钮。 当我将场景编译到我的Android设备时,脚本会运行,但是我只能通过触摸切换按钮打开GUI.Window,并且在再次触摸按钮时我无法关闭它。

看看脚本,并给我一些建议,为什么会发生这种情况,这个UnityScript有什么问题?提前谢谢大家。

这是脚本:

#pragma strict
private var doWindow0 : boolean = false;
var aTexture : Texture;
var wTexture : Texture;

// Make the contents of the window.
function DoWindow0 (windowID : int) {
    GUI.color = Color.cyan;     
    GUI.Box (new Rect (10,10,415,210),wTexture);

}

function OnGUI () {
    if(!aTexture) {
        Debug.LogError("Please assign a texture in the inspector.");
        return;
    }
    // Make a toggle button for hiding and showing the window

    doWindow0 = GUI.Toggle(Rect(210,210,70,20), doWindow0, aTexture);
    //doWindow0 = GUI.Button (new Rect (10,10,100,20), doWindow0, "InfoBox");

    // Make sure we only call GUI.Window if doWindow0 is true.
    if (doWindow0)
        GUI.Window (0, Rect (30,0,420,215), DoWindow0, "InfoBox");

    // Make the windows be draggable.
    GUI.DragWindow (Rect (0,0,10000,10000));
}

1 个答案:

答案 0 :(得分:0)

好吧,既然没有人发布任何内容,那么让我感到恐惧。在通过“试错”和逐步运行(& debuging)发布的脚本进行了深入研究后,我最终完成了它,找到了罪魁祸首。

js代码没有错。它是一个GameObject,除了切换按钮的图层外,在较低层渲染的设备。

似乎我的Android设备的图形芯片不够强大,无法在用户交互的同时渲染2d和3d图形。用高清2D图像替换3d GameObject后,一切正常。