我一直试图用libGDX做一些火焰粒子发射器。
我下载了一个示例(http://pastebin.com/cNWs0tt1#)。它看起来很好,但它最终结束(灭火),然后重新开始。我在文件中看到的是持续时间是60000ms。所以他们依靠提高数字。
嗯,那是蹩脚的。我尝试将持续时间设为0,这当然不会起作用,因为它只是一遍又一遍地死去。那么如何制作无限持续时间的粒子发射器呢?
答案 0 :(得分:5)
您可以将continous
- 标志设置为true,效果将反复开始。
在编辑器中:
或者在源文件中:
- Options -
attached: false
continuous: true <----------------------------
aligned: false
additive: true
behind: false
答案 1 :(得分:2)
我找到了一个简单的解决方法来解决你想要完成的事情。
effect.findEmitter("youremitter").durationTimer = 0;
如果每次渲染效果时都调用此方法,则可以将每个发射器重置为其启动持续时间计时器。我测试了它,似乎工作得非常好。
请注意,您需要为每个发射器调用此行。例如,如果你的火箭飞船具有火焰/烟雾粒子效果,你应该这样做。
public void render(float delta) {
effect.findEmitter("fire").durationTimer = 0;
effect.findEmitter("smoke").durationTimer = 0;
// Render your particle effect here
}
我希望这有帮助,祝你好运!