我有一个带有跟踪渲染器的导弹。
我想在完成渲染过程后销毁游戏对象(跟踪)。
以下代码不起作用:
private TrailRenderer tr;
public void Start() {
tr = GetComponent<TrailRenderer>();
}
public void Update() {
if(tr) {
if(tr.isVisible == false) {
Destroy(this.gameObject);
}
}
}
答案 0 :(得分:2)
我假设您希望在最后一个跟踪段time
的持续时间过去后销毁跟踪渲染器。如果是这种情况,正如Eddge建议的那样,一旦你的导弹被摧毁或停止移动,你应该在延迟后销毁:
private TrailRenderer tr;
void Start() {
tr = GetComponent<TrailRenderer>();
}
public void MissileDestroyed()
{
Destroy(gameObject, tr.time);
}