完成后消灭踪迹

时间:2018-04-18 13:07:55

标签: c# unity3d game-physics

我有一个带有跟踪渲染器的导弹。

我想在完成渲染过程后销毁游戏对象(跟踪)。

以下代码不起作用:

private TrailRenderer tr;


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

public void Update() {

    if(tr) {

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

1 个答案:

答案 0 :(得分:2)

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

private TrailRenderer tr;

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

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