java - 补间引擎和 libgdx 的故障

标签 java libgdx

我在使用补间引擎补间 Actor 时遇到了一个几乎不引人注意但令人讨厌的随机故障。 Actor 只是一个有形象的群体。补间只是从屏幕右侧到左侧的线性重复。

FPS 总是显示 60。

有什么想法吗?

这是代码:

public class BackgroundScreen extends AbstractScreen {

public BackgroundScreen() {     
  stage = new Stage();
  stage.setViewport(Properties.VIRTUAL_WIDTH, Properties.VIRTUAL_HEIGHT, false);
  createRock(); 
}

private void createRock() {
   rock = new GameElement(atlas.createSprite("obj-stone"));
   rock.setX(Properties.VIRTUAL_WIDTH);
   rock.setY(100);
   float duration=5f;
   Tween.to(rock, ActorAccessor.POSITION_XY, duration/2).ease(Linear.INOUT).target(-rock.getWidth(), rock.getY()).repeat(Tween.INFINITY, 0).start(Resources.tweenManager);
   stage.addActor(rock);
}

@Override
public void render(float delta) {
  Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
  Resources.tweenManager.update(delta);
  stage.act(delta);
  stage.draw();
}

}

更新

这是带有效果的 YouTube 视频的链接。两个注意事项:

http://www.youtube.com/watch?v=0pVJbGFciyo

a) 录制视频时,您可以看到故障更加明显。 b) 我在我的 Galaxy Nexus 上看不到任何故障。 c) 我只用 libgdx Action 做了同样的补间,故障是一样的 d) 不知何故与我的电脑有关。

最佳答案

您应该使用补间方程式。 毫无疑问,我会说 Linear.INOUT 是导致 Sprite 出现故障的原因。也许再见只需尝试使用 Linear.IN 运行它就可以了。

关于java - 补间引擎和 libgdx 的故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978749/

相关文章:

java - 如何打印格式化的 BigDecimal 值?

java - 为什么我的 libGDX 小程序会产生此 SecurityException?

java - LibGDX AssetManager 在模拟器上加载 .wav 文件,但在移动设备上不加载

libgdx actor - 未绘制 alpha Action

java - 玩家遍历它不应该的对象 libgdx java

java - 如何使用java在opencv中创建人脸模型?

java - Java 不包括运算符重载(至少对于赋值而言)的更根本原因是什么?

java - XSLT 转换性能

java - 如何让 "Migrate to JUnit 5"选项出现在 Intellij IDEA 中?

java - libgdx 简单的游戏很卡顿