我如何在Libgdx中实现卡片翻转动画(以某个角度翻转) - 我使用了 sprite.flip(boolean x,boolean y),但无法达到预期的效果。
我想做类似的事情:
http://developer.android.com/training/animation/cardflip.html
答案 0 :(得分:1)
缩小第一张图片的宽度,直到其宽度为零,然后开始增加第二张图片的宽度。例如:
public void flip() {
if(Graphic1.getWidth() == 0) {
Graphic2.setWidth(Graphic2.getWidth()+5);
} else {
Graphic1.setWidth(Graphic1.getWidth()-5);
}
}
使用flip()
方法调用render()
方法,并使用if()
语句检测按钮是否已被按下。像这样:
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
boolean ButtonPressed = false;
if(ButtonPressed) {
flip();
}
}
使用您的按钮的eventHandler激活ButtonPressed
。将其设置为true
。另外,请确保除非您的按钮的eventHandler在render()
方法中,否则您将ButtonPressed
设置为任何方法之外的静态变量,仍然在类中。
public class Demo {
static boolean ButtonPressed = false;
public void onCreate() {
...
如果要创建更加均匀的效果,请在每次调用flip()
方法时增加宽度缩小的距离,然后在宽度为零时,每次开始减少量。
希望这有帮助!