「Unity/TMPro/InputField」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→取得時に文末に"\u200B"がつく) |
(→取得時に文末に"\u200B"がつく) |
||
行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"がつく== |
"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", ""); |
2023年1月14日 (土) 04:11時点における版
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; });