TextMesh pro Unity:实例化的文本预制件不会改变它的位置吗?

TextMesh pro Unity: instantiated text prefab wont change it's position?

我正在开发一个 2D 游戏,我实例化的文本预制件没有将自身定位在单击的游戏对象(这是目标)上。我在生成后通过脚本将 Canvas 设置为预制件的父级并且它没有改变位置。

    // creating hit text
    GameObject canvas = GameObject.Find("Canvas");
    GameObject hit = (GameObject)Instantiate(hitText, transform.position,Quaternion.identity);
    hit.transform.SetParent(canvas.transform, false);
    hit.transform.position = transform.position;

P.S:此示例代码适用于使用 Unity 文本编辑器制作的文本。那是不是TexhMesh Pro不支持这个功能?

对于可能遇到此问题的任何人,请理解我确保实例化文本是 canvas 的子对象。问题是我的文本在开始时已被附加动画更改。上面的脚本运行良好,但动画正在改变它。 您可以通过将文本的父级设置为空游戏对象来轻松解决此问题,然后将其用作文本的容器,从而仅允许文本相对于其父级更改其位置。