Unity3D如何启用或关闭粒子系统?

4

我正在尝试启用和禁用我创建的粒子系统。
我将其附加到了一个预制体上。

我使用的代码如下:

public ParticleSystem waterGun;

void Update () {
    if(Input.GetKey(KeyCode.W)){
        waterGun.enableEmission = true;
    }else if(Input.GetKeyUp(KeyCode.W)){
        waterGun.enableEmission = false;
    }
}

当按下某个键时,我希望粒子系统能够在fps前播放,并在松开键时停止播放。


根据Unity3D文档的说明,这应该会禁用发射。我猜这对你来说不起作用? - Chris Sinclair
不幸的是,它不是那样的,这让我感到困惑。 - Alan Fletcher
1
你是否正确地将粒子系统的实例分配给了 waterGun 字段? - Chris Sinclair
给它提供了waterGun预制件。 - Alan Fletcher
在编程中,if语句是否应该改为GetKeyDown而不是GetKey?在你的问题中,你说:“当按下按钮时停止播放”。但实际情况并非如此。在这里,它会在你松开按钮时停止播放。 - Joetjah
2个回答

5

尝试使用以下方法:

waterGun.Play();

并且

waterGun.Stop();

而且,你的逻辑是倒置的,就像Joetjah所说的那样。

0
你说“waterGun预制件被赋予了它”,但是你应该将场景中的一个粒子系统实例分配给waterGun,而不是预制件。预制件在场景中不存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接