Libgdx Android粒子效果第一次无法正常工作

时间:2017-05-20 09:46:58

标签: java android libgdx particles

我的问题是粒子效果必须在开始时运行几次才能在Android上正常运行。在最初几次,它只显示一个粒子,然后在一个时刻显示它们太多,然后下一次运行是正常的。效果不连续,长度约为500ms。这就是它的样子:

GIF

它只在Android上运行,在桌面上一切都很正常。这是我正在使用的代码:

ParticleEffect starsEffect = new ParticleEffect();
starsEffect.load(Gdx.files.internal("particles/stars/effect.p"), Gdx.files.internal("particles/stars"));
starsEffect.setPosition(x, y);
starsEffectActor = new ParticleEffectActor(starsEffect);

stage.addActor(starsEffectActor);

我的ParticleEffectActor类的实现:

public class ParticleEffectActor extends Actor {
    ParticleEffect particleEffect;

    public ParticleEffectActor(ParticleEffect particleEffect) {
        super();
        this.particleEffect = particleEffect;
    }

    @Override
    public void draw(Batch batch, float parentAlpha) {
        particleEffect.draw(batch);
    }

    @Override
    public void act(float delta) {
        super.act(delta);
        particleEffect.update(delta);
    }

    public void start() {
        particleEffect.start();
    }
}

1 个答案:

答案 0 :(得分:0)

我也发生了同样的事情,我也不知道为什么。因此,我对其进行了调试,结果发现只在效果运行时才调用ParticleEffect().update(float)。 因此,仅应在调用ParticleEffect().start()之后更新效果。