unity3d 如何在Unity C#中通过脚本生成TMP InputField?

6ljaweal  于 2023-05-18  发布在  C#
关注(0)|答案(1)|浏览(384)

在我的项目中,我有一个画布,现在我想在上面使用脚本生成一个TMP_InputField。对于ImageTMP_Text等其他东西。我简单地生成了一个新的GameObject,并添加了必要的组件:

GameObject object = new GameObject("Object", typeof(Image));
object.transform.SetParent(this.transform);

但是对于TMP_InputField,这并不像预期的那样工作。我可以将组件添加到它中,并在我的层次结构中添加一个GameObject,但我不知道是否缺少任何组件,以及如何链接我已有的组件。请帮帮我我可以提供我的代码,如果要求,虽然一个干净和新的解决方案将更有帮助。

o4tp2gmn

o4tp2gmn1#

简单的解决方案,用你想添加的组件做一个预制件,然后在画布上示例化预制件。
示例:

public TMP_InputField inputFieldPrefab;
    private TMP_InputField instantiatedInputField;
    public Transform parent

    private void InstantiateInputFieldPrefab()
    {

        instantiatedInputField = Instantiate(inputFieldPrefab, parent);
        // do the setup on the instance 
    }

相关问题