如何用定时器停止粒子系统?

How to stop particle system with a timer?

所以我有一个简单的代码,当玩家停留在触发器上时生成粒子。但是粒子一直打开,我想在几秒钟后关闭。我必须做什么?

 if (other.gameObject.tag == "Player" && Input.GetKeyDown(KeyCode.E))
        {
            PlayerManager.health += 1;
            MyParticleEffect.SetActive(true);

            Debug.Log("e key was pressed");
        }

您的粒子系统可能设置为 'loop'。设置粒子效果的循环属性为false

如果您不想更改此值,您可以关闭循环 属性 并调整持续时间。

如果你想动态改变这个,最好使用StartCoroutine: https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html

这就像计时器一样使用,您可以在计时器结束时关闭粒子系统。