Libgdx - 如何仅在按住鼠标按钮时产生粒子?

Posted

技术标签:

【中文标题】Libgdx - 如何仅在按住鼠标按钮时产生粒子?【英文标题】:Libgdx - How to spawn particles only when I hold mouse button? 【发布时间】:2014-01-03 00:43:16 【问题描述】:

所以我慢慢知道如何通过代码在游戏中操作粒子系统和发射器,但是有一个简单的任务我不知道如何......鼠标键?我尝试了一种解决方法,在未按下时将 emmiter 的 maxCount 设置为 0,但它要么根本不发射粒子,要么只是使现有粒子立即消失,这看起来非常不自然,我不想要它。有没有办法在渲染方法中“手动”发射它们?

【问题讨论】:

向我们展示一些代码来演示您现在所做的工作。 对不起,我完全忘记了这一点,我现在用工作示例发布答案! 【参考方案1】:

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

关闭粒子的创建:

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

重新打开它:

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

【讨论】:

【参考方案2】:

尝试将 Pool 与您的听众结合使用:

gitHub link

【讨论】:

【参考方案3】:

好的,这就是我让它工作的原因。 “吹”基本上是一个布尔值,当按住鼠标按钮时为真,不按下时为假。

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

【讨论】:

以上是关于Libgdx - 如何仅在按住鼠标按钮时产生粒子?的主要内容,如果未能解决你的问题,请参考以下文章

Libgdx - 如何旋转 3d 粒子的发射轨迹

LibGDX:粒子尺度

仅在按住按钮时移动动画角色

按住鼠标按钮时进行充电

如何在 C# 中模拟鼠标按钮按下并按住

拦截鼠标点击