预想的流程是这样的:
void Update () {
if (!global[1] && Input.GetKeyDown (KeyCode.Return)) {
global[1] = true;
}
}
void OnGUI () {
if (global [1]) {
GUI.SetNextControlName("TALKING");
talking = GUI.TextField (new Rect (0, 100, 200, 50), talking, 23);
if (GUI.GetNameOfFocusedControl() != "TALKING") {
GUI.FocusControl("TALKING");
}
if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Return) {
GUI.FocusControl("");
global[1] = false;
}
}
}
static bool[] global = {false, false};
然后就遇到了一个问题,生成文本框后焦点在文本框内,但是无法接受用户输入,查了下网上也没有类似的情况,求帮助。
void Update () {
if (!global[1] && Input.GetKeyDown (KeyCode.Return)) {
global[1] = true;
}
}
void OnGUI () {
if (global [1]) {
GUI.SetNextControlName("TALKING");
talking = GUI.TextField (new Rect (0, 100, 200, 50), talking, 23);
if (GUI.GetNameOfFocusedControl() != "TALKING") {
GUI.FocusControl("TALKING");
}
if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Return) {
GUI.FocusControl("");
global[1] = false;
}
}
}
static bool[] global = {false, false};
然后就遇到了一个问题,生成文本框后焦点在文本框内,但是无法接受用户输入,查了下网上也没有类似的情况,求帮助。