我只是想让一个方形对象被破坏并在其中实例化一个新对象。现在发生的是第一个对象被销毁,新的对象将出现。但它总是出现在屏幕的中间,而不是在它的父变换中保存脚本。 我已经尝试设置向量,使用代码设置父级和其他一些东西,但没有任何作用。在这里,并提前感谢!
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);
}
}
答案 0 :(得分:1)
当您销毁gameObject时,它会从活动屏幕中删除。所以它的位置也会丢失。但问题是你应该在实例化lava1对象时说明位置。考虑使用Instantiate的一个重载来完成此任务:
Instantiate(lava1, this.gameObject.transform.position,
this.gameObject.transform.rotation);
此外,您的协程会停止,因为您的脚本会随着gameObject一起被销毁。