脚本化GUI按钮不会出现在Android上

本文关键字:Android GUI 按钮 脚本 | 更新日期: 2023-09-27 18:01:42

我正在使用Unity开发一个跨平台应用程序。

我使用以下c#代码在屏幕上放置一个按钮:

void onGUI()
    {
        float texWidth = m_buttonPano.normal.background.width;
        float texHeight = m_buttonPano.normal.background.height;
        float width = texWidth * Screen.width / 1920;
        float height = (width / texWidth) * texHeight;
        float y = Screen.height - height;
        float x = Screen.width - width;
        if (GUI.Button (new Rect (x, y, width, height), "", m_buttonPano)) {
            if (this.TappedOnPanoButton != null) {
                this.TappedOnPanoButton ();
            }
            m_guiInput = true;
        }
    }

还需要注意的是,我是通过创建一个空的GameObject并将脚本附加到它而将这个脚本添加到我的场景中。

它在PC上运行良好,但在Android上该按钮不显示。有趣的是,如果我点击它的位置(右下角),功能是保留的,因此它只有自定义的背景纹理,我放在它不显示。

另外,这是背景纹理附件的代码:

m_buttonPano = new GUIStyle();
m_buttonPano.normal.background = Resources.Load("GUI/buttonPano") as Texture2D;
m_buttonPano.active.background = Resources.Load("GUI/buttonPano") as Texture2D;
m_buttonPano.onActive.background = Resources.Load("GUI/buttonPano") as Texture2D;

脚本化GUI按钮不会出现在Android上

这个问题实际上是一个Unity bug。下载f4补丁后,一切正常