facebook twitter hatena line email

「Unity/TMPro/InputField」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(取得時に文末に"\u200B"がつく)
(入力できないように)
 
(同じ利用者による、間の4版が非表示)
行11: 行11:
 
  GameObject.Find("/Canvas/InputField/Text Area/Text").transform.GetComponent<TextMeshProUGUI>().text = "test";
 
  GameObject.Find("/Canvas/InputField/Text Area/Text").transform.GetComponent<TextMeshProUGUI>().text = "test";
  
==取得時に文末に"\u200B"がつく==
+
==取得時に文末に"\u200b"がつく==
"InputField/Text Area/Text"で取得した場合には、文末に"\u200B"がつくが、置換すればよい。
+
"InputField/Text Area/Text"で取得した場合には、文末に"\u200b"がつくが、置換すればよい。
 
  return GameObject.Find("/Canvas/InputField/Text Area/Text").transform.GetComponent<TextMeshProUGUI>().text.Replace("\u200b", "");
 
  return GameObject.Find("/Canvas/InputField/Text Area/Text").transform.GetComponent<TextMeshProUGUI>().text.Replace("\u200b", "");
 +
もしくは、InputFieldのTMP_InputFieldのtextを取得すれば良い。
 +
return GameObject.Find("/Canvas/InputField").GetComponent<TMP_InputField>().text;
  
 
==入力欄を選択したときに***から通常文字に変える==
 
==入力欄を選択したときに***から通常文字に変える==
行25: 行27:
 
});
 
});
 
</pre>
 
</pre>
 +
 +
==入力できないように==
 +
userIdInputField.interactable = false;

2023年6月23日 (金) 02:41時点における最新版

TMPのInputFieldサンプル

using TMPro;
TMP_InputField inputField = null;
inputField.onValueChanged.AddListener(delegate {
  Debug.Log(inputField.text);
});

Textオブジェクトへのアクセス

GameObject.Find("/Canvas/InputField/Text Area/Text").transform.GetComponent<TextMeshProUGUI>().text = "test";

取得時に文末に"\u200b"がつく

"InputField/Text Area/Text"で取得した場合には、文末に"\u200b"がつくが、置換すればよい。

return GameObject.Find("/Canvas/InputField/Text Area/Text").transform.GetComponent<TextMeshProUGUI>().text.Replace("\u200b", "");

もしくは、InputFieldのTMP_InputFieldのtextを取得すれば良い。

return GameObject.Find("/Canvas/InputField").GetComponent<TMP_InputField>().text;

入力欄を選択したときに***から通常文字に変える

// フォーカスいた時に***から正常に表示されるように
TMP_InputField userIdInputField = GameObject.Find("UserIdInputField").GetComponent<TMP_InputField>();
userIdInputField.contentType = TMP_InputField.ContentType.Password;
userIdInputField.text = "test";
userIdInputField.onSelect.AddListener(delegate {
    userIdInputField.contentType = TMP_InputField.ContentType.Standard;
});

入力できないように

userIdInputField.interactable = false;