多次播放粒子

时间:2016-09-28 16:22:08

标签: c# unity3d particle-system

所以我很确定这个问题有一个简单的答案,但我不知道它或者真的要找什么。我有一些设计的代码,当玩家按住鼠标按钮时,粒子发射器将粒子喷射到它们所面对的位置,当它们停止向下按住时,它会停止喷射。到目前为止,这是有效的,除非,如果它们产生一阵粒子,停止点击,然后再次尝试点击,在第一个云停止存在之前不会创建新的粒子。我不确定是否需要更改某些设置。任何建议将不胜感激。

以下是代码:

if (Input.GetMouseButton (0) && scoreTrack.sprayBottles > 0) {
        if(!sprayEffect.GetComponent<ParticleSystem> ().isPlaying) 
            sprayEffect.GetComponent<ParticleSystem> ().Play ();
}
else if (!Input.GetMouseButton (0)) {
        if(sprayEffect.GetComponent<ParticleSystem> ().isPlaying)
            sprayEffect.GetComponent<ParticleSystem>().Stop();

}

设置如下:

The current settings

1 个答案:

答案 0 :(得分:0)

看起来您的问题可能不是根据this question设置enableEmission:

if (Input.GetMouseButton (0) && scoreTrack.sprayBottles > 0) {
        if(!sprayEffect.GetComponent<ParticleSystem> ().isPlaying){ 
            sprayEffect.GetComponent<ParticleSystem> ().Play ();
            sprayEffect.GetComponent<ParticleSystem> ().enableEmission=true;
        }
}
else if (!Input.GetMouseButton (0)) {
        if(sprayEffect.GetComponent<ParticleSystem> ().isPlaying){
            sprayEffect.GetComponent<ParticleSystem>().Stop();
            sprayEffect.GetComponent<ParticleSystem> ().enableEmission=false;
        }

}

我面前没有团结,所以我不确定这会解决问题。