フォーカスを持つコントロールの名前を取得します
コントロール名は SetNextControlName を使用して設定されます。名前を持つコントロールがフォーカスされた場合、この関数はその名前を返します。フォーカスしていない、またはコントロール名が設定されていない場合は、空文字を返します。
var login : String = "username"; var login2 : String = "no action here"; function OnGUI () { GUI.SetNextControlName ("user"); login = GUI.TextField (Rect (10,10,130,20), login); login2 = GUI.TextField (Rect (10,40,130,20), login2); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return && GUI.GetNameOfFocusedControl () == "user") { Debug.Log ("Login"); } if (GUI.Button (new Rect (150,10,50,20), "Login")) Debug.Log ("Login"); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public string login = "username"; public string login2 = "no action here"; void OnGUI() { GUI.SetNextControlName("user"); login = GUI.TextField(new Rect(10, 10, 130, 20), login); login2 = GUI.TextField(new Rect(10, 40, 130, 20), login2); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return && GUI.GetNameOfFocusedControl() == "user") Debug.Log("Login"); if (GUI.Button(new Rect(150, 10, 50, 20), "Login")) Debug.Log("Login"); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public login as string = 'username' public login2 as string = 'no action here' def OnGUI() as void: GUI.SetNextControlName('user') login = GUI.TextField(Rect(10, 10, 130, 20), login) login2 = GUI.TextField(Rect(10, 40, 130, 20), login2) if (Event.current.isKey and (Event.current.keyCode == KeyCode.Return)) and (GUI.GetNameOfFocusedControl() == 'user'): Debug.Log('Login') if GUI.Button(Rect(150, 10, 50, 20), 'Login'): Debug.Log('Login')
See Also: SetNextControlName, FocusControl.