Libgdx:在y轴上翻转粒子

时间:2018-01-03 08:19:04

标签: java libgdx effect particles

我正在尝试翻转粒子效果(libgdx API)。 到目前为止有用的是:新创建的粒子被正确翻转,因为我更改了发射器的参数。但我也希望翻转现有的粒子。

在ParticleEmitter类之外,创建的粒子不可用,因此我决定复制代码并复制ParticleEmitter类。

所以我的代码看起来像这样:

    ParticleEmitter emitter;

    for (int i = 0; i < getEmitters().size; i++) {

        emitter = getEmitters().get(i);


        // change already existing particles:

        Particle[] particles = emitter.getParticles();
        boolean[] active = emitter.getActive();
        for (int j = 0, n = active.length; j < n; j++) {
            if (active[j] == true) {
                Particle particle = particles[j];

                // Here I have to do something with the particle



            }
        }

        // change emitter parameters for new created particles: 

        /*
        *
        *  emitter.setValue(...)
        *
        */
    }

也许你有个好主意?谢谢:))

1 个答案:

答案 0 :(得分:0)

如果要翻转所有粒子,请尝试ParticleEmitter的scaleSize方法:

// Horizontal (X)
emitter.scaleSize(-1, 1);

// Vertical (Y)
emitter.scaleSize(1, -1);

您也可以使用flip(..)翻转单个粒子:

particle.flip(true, false); // X
particle.flip(false, true); // Y