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 的子对象。问题是我的文本在开始时已被附加动画更改。上面的脚本运行良好,但动画正在改变它。
您可以通过将文本的父级设置为空游戏对象来轻松解决此问题,然后将其用作文本的容器,从而仅允许文本相对于其父级更改其位置。
我正在开发一个 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 的子对象。问题是我的文本在开始时已被附加动画更改。上面的脚本运行良好,但动画正在改变它。 您可以通过将文本的父级设置为空游戏对象来轻松解决此问题,然后将其用作文本的容器,从而仅允许文本相对于其父级更改其位置。