나는 만들고있는 간단한 게임을위한 일시 중지 메뉴를 만들었습니다. 일시 중지 메뉴에는 사용자 이름을 입력 할 수있는 필드가 있습니다. 사용자가 일시 중지 메뉴를 닫을 수있게되기 전에 사용자 이름이 입력되었는지 확인하려고합니다. 그러나 input.text
및 input.TextComponent.text
값은 포커스가 입력 필드에서 변경된 경우에만 입력 된 사용자 이름으로 변경됩니다. 사용자가 일시 정지 메뉴를 종료하기 전에 멀리 입력 필드 상자에서 클릭 할 때입력란에서 텍스트 가져 오기는 포커스가 변경된 후에 만 작동합니다.
public InputField input;
if ((string.IsNullOrEmpty (input.text)) || (input.text == "Enter Username")){
input.textComponent.color = Color.red;
input.text = "Enter Username";
} else {
input.textComponent.color = Color.black;
//hide pause menu and resume game
canvas.gameObject.SetActive (false);
Time.timeScale = 1;
}
이 코드는 작동 다음과 같이
내 코드입니다. 입력 된 텍스트를 어떻게 입력 할 수 있습니까?
if 문 앞에 GUI.focusControl("")
및 GUI.focusControl(null)
을 추가하려고 시도했지만이 방법도 작동하지 않습니다.
편집 : 나는 if
문의 두 번째 매개 변수가 작동하는지 확인했습니다
. 입력 된 텍스트가 "사용자 이름 입력"인 경우 메뉴가 닫히지 않으므로 텍스트 변수를 올바르게 검사합니다. 난 그냥 왜 다른 진술을 입력 진실을 반환하는 경우 이해가 안 돼? 나는 뭔가를 놓치고 있어야합니다.