一、你有一个InputField控件
二、我能直接从Text对象上取它的text吗?
直接取Text对象,然后通过Text.text来取值,这样 InputField.text的值就是Text.text,但实际上并非如此
测试:
三、测试结果
结果:
第一种虽然读到内容,但是这些内容是不能使用的
第二种则正确。
四、关键测试代码
/// <summary>
/// TMP_Text对象
/// </summary>
[Header("TMP_Text对象")]
public TMP_Text text2;
/// <summary>
/// TMP_inputField对象
/// </summary>
[Header("TMP_inputField对象")]
public TMP_InputField tmp_iptfd;
[ContextMenu("直接从Text上取text")]
void Test1()
{
Debug.Log($"{float.Parse(text2.text)}");
}
[ContextMenu("用TMP_inputField官方api取text")]
void Test2()
{
Debug.Log($"{float.Parse(tmp_iptfd.text)}");
}
五、总结
新同事不按常规出牌,没有使用官方api:iptfd.text来取值,而是通过iptfd下的Text对象来取值(Text.text)