完成后销毁踪迹

Destroy trail when finished

我有一枚带有尾迹渲染器的导弹。

我想在完成渲染过程后销毁游戏对象(带有轨迹)。

下面的代码不起作用:

private TrailRenderer tr;


public void Start() {
    tr = GetComponent<TrailRenderer>();
}

public void Update() {

    if(tr) {

        if(tr.isVisible == false) {
            Destroy(this.gameObject);
        }
    }
}

我假设您希望在最后一段轨迹 time 的持续时间结束时销毁轨迹渲染器。如果是这种情况,正如 Eddge 所建议的那样,一旦您的导弹被摧毁或停止移动,您应该在延迟后摧毁:

private TrailRenderer tr;

void Start() {
    tr = GetComponent<TrailRenderer>();
}

public void MissileDestroyed()
{
    Destroy(gameObject, tr.time);
}