libGDX粒子发射器的无限持续时间

Vol*_*ort 5 libgdx

我一直在尝试使用libGDX制作一些火粒子发射器。

我下载了一个示例(http://pastebin.com/cNWs0tt1#)。看起来不错,但最终结束(灭火),然后重新开始。我在文件中看到持续时间为60000ms。因此,他们依靠大量投放。

好吧,那很la脚。我尝试将持续时间设为0,这当然不起作用,因为它会不断消失。

那么如何使粒子发射器具有无限的持续时间呢?

Man*_*uel 5

您可以将continous-flag 设置为true,效果将一遍又一遍。

在编辑器中:

将粒子效果设置为连续

或在源文件中:

- Options - 
attached: false
continuous: true <----------------------------
aligned: false
additive: true
behind: false
Run Code Online (Sandbox Code Playgroud)


Big*_*ger 2

我找到了一个简单的解决方法来解决您想要完成的任务。

effect.findEmitter("youremitter").durationTimer = 0;
Run Code Online (Sandbox Code Playgroud)

如果每次渲染效果时都调用此函数,则可以将每个发射器重置为其启动持续时间计时器。我已经测试过它,看起来效果很好。

但请注意,您需要为每个发射器调用这一行。例如,如果你有一艘带有火焰/烟雾粒子效果的火箭飞船,你应该这样做。

public void render(float delta) {
    effect.findEmitter("fire").durationTimer = 0;
    effect.findEmitter("smoke").durationTimer = 0;
    // Render your particle effect here
}
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助,祝你好运!