如何用定时器停止粒子系统?
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
这就像计时器一样使用,您可以在计时器结束时关闭粒子系统。
所以我有一个简单的代码,当玩家停留在触发器上时生成粒子。但是粒子一直打开,我想在几秒钟后关闭。我必须做什么?
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
这就像计时器一样使用,您可以在计时器结束时关闭粒子系统。