所以,我有一个 GUI 文本字段供用户输入他或她的名字,这在编辑器上工作正常,但在 Android Build 上却不行。
文本可以在编辑器中完美更改:
但与在编辑器中不同的是,当我构建 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/