Unity Destroy GameObject实例化克隆
本文关键字:实例化 GameObject Destroy Unity | 更新日期: 2023-09-27 18:05:58
我想要实现的是销毁一个实例化的对象(这是一个粒子系统)。在做了一些研究之后,我发现实例化和销毁实例化对象的方法如下:
public class CoinCollider : MonoBehaviour
{
public Transform coinEffect;
void OnTriggerEnter(Collider info)
{
if (info.name == "Ball")
{
GameObject effect = GameObject.Instantiate(coinEffect, transform.position, transform.rotation) as GameObject;
Destroy(effect);
Destroy(gameObject);
}
}
}
但是似乎没有删除它,这个对象被继承到一个正在被销毁的对象。但是在做了这个破坏之后。它似乎创建了另一个名为"粒子系统(克隆)"的游戏对象,没有父对象。如何删除?
问题
我发现了你的问题,你是Unity过度保护的受害者。你试图破坏克隆的转换组件,但你不允许这样做,所以Unity会忽略你。 解决方案void OnTriggerEnter(Collider info)
{
if(info.name == "Ball")
Destroy(Instantiate(coinEffect.gameObject, transform.position, transform.rotation), 5f);
}
所以你只需要这一行。你实例化了效果变换的gameObject组件。然后使用计时器摧毁它,我给它5f
,否则效果会立即被摧毁。
这对我很有效。
空白DestroyProjectile (){破坏(实例化(destroyEffect、转换。