c# - Unity 5- GUI 文本字段在 Android Build 上无法正常工作(由于某种原因,皮肤无法正常工作,我无法更改文本)

标签 c# android unity-game-engine samsung-mobile

所以,我有一个 GUI 文本字段供用户输入他或她的名字,这在编辑器上工作正常,但在 Android Build 上却不行。

文本可以在编辑器中完美更改: Me changing the name in the editor

但与在编辑器中不同的是,当我构建 APK 并在我的 Android 设备中启动我的应用程序时,一切都是这样发生的:

1- 我点击文本框,Android 键盘自动弹出。
2- 我写了名字,文本框确实改变了
3- 我点击 Android 键盘上的完成
4- 文本变回“名称”,这意味着字符串没有被存储?

哦,我在 GUI 皮肤上设置的字体在 Android 构建上也不起作用。

代码比较简单:

   void OnGUI(){
    GUI.skin = StandardStyle;
    if (AllowGUI) {
        if (PlayerPrefs.GetInt ("Language") == 0) {
            Name = GUI.TextField (new Rect (Screen.width / 6.69230f, Screen.height / 2.26818f, 340, 50), Name, 15);
            CompanyName = GUI.TextField (new Rect (Screen.width / 6.69230f, Screen.height / 1.71f, 340, 50), CompanyName, 25);
        }else if(PlayerPrefs.GetInt ("Language") == 1){
            Name = GUI.TextField (new Rect (Screen.width / 6.69230f, Screen.height / 2.0818f, 340, 50), Name, 15);
            CompanyName = GUI.TextField (new Rect (Screen.width / 6.69230f, Screen.height / 1.61f, 340, 50), CompanyName, 25);
        }
    }
}

最佳答案

您正在使用 IMGUI旨在用作编辑器工具。 当您使用任何需要 OnGUI 功能的东西时,您应该停下来寻找替代解决方案。

要获取用户的输入,请使用 InputField随新的 Unity UI (uGUI) 一起提供。 this 上的#3帖子解释了如何检测 InputField 上的提交.

创建 InputField ,转到 GameObject-->UI-->Input Field

您可以了解有关新 UI 的更多信息 here .

关于c# - Unity 5- GUI 文本字段在 Android Build 上无法正常工作(由于某种原因,皮肤无法正常工作,我无法更改文本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415736/

相关文章:

c# - 如何为可滚动UI(Unity)设置滚动距离限制?

c# - 如何从 OwnerActorNr 获取玩家姓名 | PUN2

c# - 从即将重定向到的页面后面的代码调用方法/函数?

c# - Zune 高清网络

c# - ASP.NET OpenXML : How to create password protected word file

android - 在 Android 中为芯片设置边框颜色

c# - 当前一个文件大于文件限制时,如何让 log4net 创建一个新文件?

android - Dexguard 与 Maven 和 Android Studio 不工作

android - 在 Worklight 6.2 上禁用直接更新不起作用?

c# - 统一运行时的粉红色纹理