我得到了一个粒子效果,它在一个组内
shellParticle = new ParticleEffect();
shellParticle.load(Gdx.files.internal("shell13"),Gdx.files.internal(""));
shellParticle.getEmitters().first().setPosition(0,0);
shellParticle.scaleEffect(0.3f);
我需要它水平翻转但它只是jav函数flipY
和setFlip(bool X, bool Y)
setFlip(true,false)什么都不做。
flipY()
实际上是垂直翻转它。
另外我不能减去它自己的宽度* 2,因为它没有......
答案 0 :(得分:1)
将负标度设置为粒子
shellParticle.scaleEffect(-1f);
然后垂直翻转
shellParticle.flipY();
答案 1 :(得分:0)
这似乎是libgx api的一部分缺乏信息。
setFlip
方法正在翻转粒子精灵(对于已经发射的粒子和未来的粒子)。
flipY()
修改发射器设置的任务,使其永久消极
但设置为负值只是一些属性我得到flipX()
方法。
通过emmiters属性exeptiong为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());
}
我希望它有所帮助。