在Libgdx的卡片翻转动画

时间:2014-02-20 12:24:59

标签: 3d libgdx flip

我如何在Libgdx中实现卡片翻转动画(以某个角度翻转) - 我使用了 sprite.flip(boolean x,boolean y),但无法达到预期的效果。

我想做类似的事情:

http://developer.android.com/training/animation/cardflip.html

1 个答案:

答案 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()方法时增加宽度缩小的距离,然后在宽度为零时,每次开始减少量。

希望这有帮助!