销毁对象并在画布中间实例化它

时间:2020-02-24 12:14:09

标签: unity3d instantiation itween

我有一个可以在画布上拖放的字符。

如果将其拖到一个正方形上,它将消失。

所有这些都很好,但是一旦销毁,我想再次在画布中间实例化该角色的克隆。

到目前为止,我要做的代码是

var clone = Instantiate(gameObject, startPosition, Quaternion.identity);
iTween.ScaleTo(gameObject, new Vector3(0, 0, 0), 2f);
Destroy(gameObject, 3f);

我想是克隆对象,但是我看不到它,我也不知道它在哪里。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

UI对象必须在Canvas下嵌套的某个位置..如果您使用Instantiate而不传递任何父代,则GameObject会在根级实例化而没有任何父代=>您的UI保持不可见

已将其传递给Instantiate

var clone = Instantiate(gameObject, startPosition, Quaternion.identity, parentWithinCanvas.transform);

直接设置transform.parent

clone.transform.parent = parentWithinCanvas.transform;

或使用transform.SetParent

clone.transform.SetParent(parentWithinCanvas.transform, false);

最后一个参数决定对象是否应该在世界上保持其当前位置。

相关问题