【发布时间】:2015-12-27 21:49:49
【问题描述】:
我只是想让一个方形对象被销毁并在它的位置实例化一个新对象。现在发生的事情是第一个对象被销毁,新的对象会出现。但它总是出现在屏幕中间,而不是保存脚本的父变换中。 我尝试设置向量,使用代码设置父对象和其他一些东西,但没有任何效果。在这里,提前致谢!
public Transform RaisingBlock;
public GameObject lava1;
public GameObject raisedBlock1;
public GameObject loweredBlock1;
void Start()
{
StartCoroutine("MyEvent");
}
private IEnumerator MyEvent()
{
while(true)
{
yield return new WaitForSeconds(2f);
Destroy(this.gameObject);
Instantiate(lava1);
}
}
【问题讨论】:
-
你知道你在这里使用什么编程语言吗?请相应地标记。
-
在我看来像 C#。 this.gameObject 在哪里实例化?我认为正在发生的是 this.gameObject 要么被实例化,要么稍后为其属性赋予某些值。当你摧毁那个物体时,显然它现在已经消失了。但是您使用新值(可能是默认值,甚至是系统默认值)实例化一个新对象。您需要做的是使用先前销毁的对象在销毁时的确切值来实例化新对象。您可以考虑使用任何克隆模式来完成此操作。
标签: c# unity3d transform instantiation destroy