Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TextMesh pro Unity:实例化的文本预设不会更改它';什么位置?_C#_Unity3d_Text_2d_Instantiation - Fatal编程技术网

C# TextMesh pro Unity:实例化的文本预设不会更改它';什么位置?

C# TextMesh pro Unity:实例化的文本预设不会更改它';什么位置?,c#,unity3d,text,2d,instantiation,C#,Unity3d,Text,2d,Instantiation,我正在制作一个2D游戏,我instatiate的文本预设不会将自己放置在点击的游戏对象上(这就是目标)。在生成画布之后,我通过脚本将其设置为预置的父级,并且它不会改变位置 // creating hit text GameObject canvas = GameObject.Find("Canvas"); GameObject hit = (GameObject)Instantiate(hitText, transform.position,Quaternion.iden

我正在制作一个2D游戏,我instatiate的文本预设不会将自己放置在点击的游戏对象上(这就是目标)。在生成画布之后,我通过脚本将其设置为预置的父级,并且它不会改变位置

    // 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;

附:此示例代码使用Unity文本编辑器生成的文本。这是否意味着TeshMesh Pro不支持此功能

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

transform。position
指的是此代码附加到的对象的位置,不是被单击的游戏对象。代码附加到被单击的对象@Draco18s,需要更多信息。@Draco18s例如?如果我留下的注释没有引起您的注意:“这个代码示例使用的是Unity文本编辑器生成的文本,这是否意味着TeshMesh Pro不支持此功能?”这没有任何意义,我在文档中也看不到任何支持该断言的内容。