Java 水平翻转(X)一个ParticleEffect[Libgdx]
我得到了一个粒子效应,它在一个组中Java 水平翻转(X)一个ParticleEffect[Libgdx],java,libgdx,particles,Java,Libgdx,Particles,我得到了一个粒子效应,它在一个组中 shellParticle = new ParticleEffect(); shellParticle.load(Gdx.files.internal("shell13"),Gdx.files.internal("")); shellParticle.getEmitters().first().setPosition(0,0); shellParticle.scaleEffect(0.3f); 我需要它水平翻转,但它只包含函数fli
shellParticle = new ParticleEffect();
shellParticle.load(Gdx.files.internal("shell13"),Gdx.files.internal(""));
shellParticle.getEmitters().first().setPosition(0,0);
shellParticle.scaleEffect(0.3f);
我需要它水平翻转,但它只包含函数flipY
和setFlip(boolx,booly)
setFlip(真、假)什么也不做
flipY()
实际上是垂直翻转它。
我也不能减去它自己的宽度*2,因为它没有…设置粒子的负比例
shellParticle.scaleEffect(-1f);
然后垂直翻转它
shellParticle.flipY();
这似乎是由于缺少来自libgxapi部分的信息。
setFlip
方法将翻转粒子精灵(对于已发射的粒子和将来的粒子)。
flipY()
将emmiter设置的90%全部修改为负值
但是,如果将某些属性设置为负值,则会得到flipX()
方法。
事实上,你想对粒子做的每一个改变都应该用Emmiter属性来做,x和y位置除外
private void flipX(){
emmiter.getAngle().setHigh(emmiter.getAngle().getHighMin(),emmiter.getAngle().getHighMax());
emmiter.getAngle().setLow(emmiter.getAngle().getLowMin(),emmiter.getAngle().getLowMax());
emmiter.getGravity().setHigh(emmiter.getGravity().getHighMin(),emmiter.getGravity().getHighMax());
emmiter.getGravity().setLow(emmiter.getGravity().getLowMin(),emmiter.getGravity().getLowMax());
emmiter.getWind().setHigh(-emmiter.getWind().getHighMin(),-emmiter.getWind().getHighMax());
emmiter.getWind().setLow(-emmiter.getWind().getLowMin(),-emmiter.getWind().getLowMax());
emmiter.getRotation().setHigh(-emmiter.getRotation().getHighMin(),-emmiter.getRotation().getHighMax());
emmiter.getRotation().setLow(-emmiter.getRotation().getLowMin(),-emmiter.getRotation().getLowMax());
emmiter.getYOffsetValue().setLow(emmiter.getYOffsetValue().getLowMin(),emmiter.getYOffsetValue().getLowMax());
emmiter.getXOffsetValue().setLow(emmiter.getXOffsetValue().getLowMin(),emmiter.getXOffsetValue().getLowMax());
}
我希望它能帮助一些人。给效果一个负刻度?这也会使它垂直旋转,也会使它垂直翻转