我希望在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
答案 0 :(得分:0)
您将loop boolean设置为true,这意味着它保持循环动画。你应该有一些类型的标志(布尔值),如跳跃和运行,所以在set set running方法中你应该检查跳跃是否为true,如果是,stopAnimation()和使用不同帧的动画(在这种情况下运行)