Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Libgdx 粒子效应的应用_Libgdx - Fatal编程技术网

Libgdx 粒子效应的应用

Libgdx 粒子效应的应用,libgdx,Libgdx,我正在使用粒子效果我的游戏使用libgdx。但效果只是在很短的时间内显现出来,然后就消失了。但我想在很长的时间内或者在我的控制下展现我的效果。 我的代码在下面的“游戏屏幕”课程中给出 ParticleEffectPool waterEffectPool; Array<PooledEffect> effects = new Array<PooledEffect>(); ParticleEffect waterEffect; ... ... waterEffect = new

我正在使用粒子效果我的游戏使用libgdx。但效果只是在很短的时间内显现出来,然后就消失了。但我想在很长的时间内或者在我的控制下展现我的效果。 我的代码在下面的“游戏屏幕”课程中给出

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);
        }
    }