所以我有一个简单的代码,当玩家停留在触发器上时会生成粒子。但是粒子保持打开状态,我想在几秒钟后关闭。我该怎么办?
if (other.gameObject.tag == "Player" && Input.GetKeyDown(KeyCode.E))
{
PlayerManager.health += 1;
MyParticleEffect.SetActive(true);
Debug.Log("e key was pressed");
}
答案 0 :(得分:1)
您的粒子系统可能设置为“循环”。将粒子效果的loop属性设置为false。
答案 1 :(得分:1)
如果您不想更改此值,则可以关闭loop属性并播放持续时间。
如果要动态更改此设置,最好使用StartCoroutine: https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html
它的使用类似于计时器,您可以在计时器过去后关闭粒子系统。