LibGDX 翻转时动画闪烁
LibGDX animation is flickering when flipped
嗨,我的 LibGDX 游戏中有一个动画,它在翻转时会闪烁。
所以它从翻转和不翻转之间切换得非常快(就像每一帧一样),我知道翻转变量没有改变。这是代码:
@Override
public void render(SpriteBatch sb, float a) {
updateDrawVariables(a);
if (isWalking) {
walkStateTime += Gdx.graphics.getDeltaTime();
}
TextureRegion frame = walk.getKeyFrame(walkStateTime, true);
if (flip) {
frame.flip(true, false);
}
sb.draw(frame, drawX, drawY, drawWidth, drawHeight);
if (Main.DEBUG)Resources.font.draw(sb, "HP: " + health, drawX, drawY);
}
如有任何答案,我们将不胜感激!
frame.flip(true, false);
这将始终翻转纹理区域的当前状态。所以它会翻转一帧,而不是翻转下一帧然后再翻转。
你想要这样的东西
frame.flip(!frame.isFlipX(), frame.isFlipY());
嗨,我的 LibGDX 游戏中有一个动画,它在翻转时会闪烁。 所以它从翻转和不翻转之间切换得非常快(就像每一帧一样),我知道翻转变量没有改变。这是代码:
@Override
public void render(SpriteBatch sb, float a) {
updateDrawVariables(a);
if (isWalking) {
walkStateTime += Gdx.graphics.getDeltaTime();
}
TextureRegion frame = walk.getKeyFrame(walkStateTime, true);
if (flip) {
frame.flip(true, false);
}
sb.draw(frame, drawX, drawY, drawWidth, drawHeight);
if (Main.DEBUG)Resources.font.draw(sb, "HP: " + health, drawX, drawY);
}
如有任何答案,我们将不胜感激!
frame.flip(true, false);
这将始终翻转纹理区域的当前状态。所以它会翻转一帧,而不是翻转下一帧然后再翻转。
你想要这样的东西
frame.flip(!frame.isFlipX(), frame.isFlipY());