在跳转和运行动画Andengine之间切换

时间:2013-09-07 14:18:16

标签: animation switch-statement andengine animated

我希望在Run和Jump动画之间切换,但是我遇到了一些问题: 如果播放器运行并点击屏幕,播放器开始跳跃(一次),Jumpanimation开始但不结束,因此播放器正在运行Jumpanimation。

你知道我的错在哪里吗? 我的代码:

// Runanimation + Player Run
public void setRunning()
        {
                canRun = true;

                final long[] PLAYER_ANIMATE = new long[] { 100, 100, 100,};

                animate(PLAYER_ANIMATE, 0, 2, true);
        }
// Jumpanimation + Player Jump 
        public void jump()
        {
                if (footContacts < 1)
                {
                        return;
                }
                body.setLinearVelocity(new Vector2(body.getLinearVelocity().x, 10));

                final long[] PLAYER_JUMP_ANIMATE = new long[] { 100, 100, 100, 100, 100, 100};

                animate(PLAYER_JUMP_ANIMATE, 0, 5,true);

        }

Thx Seref

1 个答案:

答案 0 :(得分:0)

您将loop boolean设置为true,这意味着它保持循环动画。你应该有一些类型的标志(布尔值),如跳跃和运行,所以在set set running方法中你应该检查跳跃是否为true,如果是,stopAnimation()和使用不同帧的动画(在这种情况下运行)