6

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

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 动作做了同样的补间,故障是一样的 d)不知何故它与我的电脑有关。

4

1 回答 1

0

您应该使用补间方程。我敢打赌,这Linear.INOUT就是导致精灵出现故障的原因。也许只需尝试运行它就Linear.IN可以了。

于 2014-11-14T17:47:17.750 回答