Libgdx - 只有当我按住鼠标按钮时如何产生粒子?

Libgdx - 只有当我按住鼠标按钮时如何产生粒子?

问题描述:

所以我慢慢地知道如何通过代码来操纵粒子系统和发射器,但是有一个简单的任务我不知道如何......我怎么才能在我握住鼠标时产生粒子按钮?我尝试了一个解决方法,将emmiter的maxCount设置为0,当它没有按下时,但它不是完全不发射粒子,或者只是使现有的一些消失,这看起来非常不自然,我不希望它。有没有办法在渲染方法中“手动”发射它们?Libgdx - 只有当我按住鼠标按钮时如何产生粒子?

+2

向我们展示一些代码,演示您现在的工作。 –

+0

Sry我完全忘记了这一点,即时发布一个与工作示例的答案! – Pablo1517

您可能想要在粒子发射器上设置Emission缩放值。您可以将最大计数保留在您想要的任何最大颗粒数上。

要关闭粒子的产生:

emitter.getEmission().setLow(0); 
emitter.getEmission().setHigh(0); 

要重新打开:

emitter.getEmission().setLow(10); 
emitter.getEmission().setHigh(10); 

尝试使用池与听众结合:

gitHub link

好吧,这是我得到它的工作。 “吹”基本上是一个布尔值,当按住鼠标按钮时为true,否则为false。

if (blowing) { 
     effectEmitter.start(); 
    } else { 
     effectEmitter.allowCompletion(); 
    }