脚本化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;
这个问题实际上是一个Unity bug。下载f4补丁后,一切正常