我正在尝试翻转粒子效果(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(...)
*
*/
}
也许你有个好主意?谢谢:))
答案 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