2017-01-01 29 views
1

所以,我有一個GUI文本框供用戶輸入他或她的名字,在編輯器上很好,但不在Android Build上。Unity 5 GUI Textfield在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); 
     } 
    } 
} 

回答

1

您正在使用IMGUI其被設計爲用作編輯器工具。 當您使用任何需要OnGUI功能的東西時,應該停下來尋找替代解決方案。

要從用戶獲得輸入,請使用新的Unity UI(uGUI)附帶的InputField#3 on this後解釋如何檢測提交InputField

要創建InputField,去遊戲對象 - >UI - >輸入字段

您可以瞭解有關新UI here的更多信息。

+1

謝謝:))) – Anopey

相關問題