0

我想在 Run 和 Jump 动画之间切换,但我有一些问题:如果 Player 运行并且我点击屏幕,Player 开始 Jumping(一次),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);

        }

谢谢你

4

1 回答 1

0

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

于 2013-09-07T16:22:35.447 回答