Libgdx 粒子效应的应用
我正在使用粒子效果我的游戏使用libgdx。但效果只是在很短的时间内显现出来,然后就消失了。但我想在很长的时间内或者在我的控制下展现我的效果。 我的代码在下面的“游戏屏幕”课程中给出Libgdx 粒子效应的应用,libgdx,Libgdx,我正在使用粒子效果我的游戏使用libgdx。但效果只是在很短的时间内显现出来,然后就消失了。但我想在很长的时间内或者在我的控制下展现我的效果。 我的代码在下面的“游戏屏幕”课程中给出 ParticleEffectPool waterEffectPool; Array<PooledEffect> effects = new Array<PooledEffect>(); ParticleEffect waterEffect; ... ... waterEffect = new
ParticleEffectPool waterEffectPool;
Array<PooledEffect> effects = new Array<PooledEffect>();
ParticleEffect waterEffect;
...
...
waterEffect = new ParticleEffect();
waterEffect.load(Gdx.files.internal("data/runonwater"), Gdx.files.internal("data"));
waterEffectPool = new ParticleEffectPool(waterEffect, 1, 5);
//for(int i = 0; i <= waterEffectPool.max; i++){
PooledEffect effect = waterEffectPool.obtain();
effect.setPosition(150, 130);
effects.add(effect);
我已经在上面的评论部分回答了这个问题,但仍将其写在这里,以便可以接受(如p.T.所建议的) 如果您使用的是“粒子编辑器”,则有一个选项“天气”来设置此效果是否连续。将continuous设置为true,问题将得到解决
@p.T.是的,你是对的。从现在起,您将记住它:)您正在为此使用粒子编辑器吗???如果是,则可以选择天气来设置此效果是否连续。将continuous设置为true,并删除使用effect.free()和effects.removeIndex(i)的代码。@Pranav008您是对的。通过设置连续的真实值,它可以正常工作。谢谢…如果它起作用,那么你可以投赞成票。这就是stackoverflow的工作原理:)实际上,@Pranav008您应该以“答案”而不是“评论”的形式给出答案。可以使用注释来找出是否缺少一些基本的内容,但您应该将其添加为答案,以便“接受”。(这样你也会获得更多的声誉)。谢谢
for(int i = effects.size - 1; i >= 0; i--){
PooledEffect effect = effects.get(i);
effect.draw(spriteBatch, deltaTime);
if(effect.isComplete()){
effect.free();
effects.removeIndex(i);
}
}