【发布时间】:2019-03-27 05:23:59
【问题描述】:
我正在尝试检查对象是否出现在数字上方。如果确实如此,我想销毁它并重新创建它。如果没有,我想创建它。我已经尝试了以下代码。它创建对象但不销毁它。
GameObject newGameObject = null;
if (x > 3.14)
{
if (newGameObject != null && newGameObject.scene.IsValid())
{
Destroy(newGameObject);
newGameObject = GameObject.Instantiate(object1);
}
else
{
newGameObject = GameObject.Instantiate(object1);
}
}
else
{
Destroy(newGameObject);
}
当多次运行时,对象永远不会破坏,而是堆叠,我可以看到它们在层次结构中没有被破坏。
我已经尝试给 newGameObject 一个标签,这样我就可以销毁被标记的项目并且它没有标记任何克隆。
我尝试找到游戏对象的名称+“(克隆)”并销毁它们,但它没有让我这样做。
我已经尝试添加 1f 计时器,destroy(newGameObject,1f) 不会破坏游戏对象。
【问题讨论】:
-
这是
Update的一部分?当您多次声明对象时,这很奇怪...... -
它是 onclick 的一部分,但它可能是更新的一部分,我认为它可以在更新中用于检查更新源的值。
-
我写的GameObject是一个错字
标签: c# unity3d instantiation destroy gameobject