我一直在尝试使用libGDX制作一些火粒子发射器。
我下载了一个示例(http://pastebin.com/cNWs0tt1#)。看起来不错,但最终结束(灭火),然后重新开始。我在文件中看到持续时间为60000ms。因此,他们依靠大量投放。
好吧,那很la脚。我尝试将持续时间设为0,这当然不起作用,因为它会不断消失。
那么如何使粒子发射器具有无限的持续时间呢?
您可以将continous-flag 设置为true,效果将一遍又一遍。
在编辑器中:
或在源文件中:
- Options -
attached: false
continuous: true <----------------------------
aligned: false
additive: true
behind: false
Run Code Online (Sandbox Code Playgroud)
我找到了一个简单的解决方法来解决您想要完成的任务。
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)
我希望这有帮助,祝你好运!