我有以下的iusse。我的计时器工作正常,直到我的游戏窗口失焦,就在它停止后,只有当它再次聚焦时才恢复。虽然它不是焦点,但它可以在不调用计时器的情况下完成所有操作。
继承我的计时器方法:
@SuppressWarnings("static-access")
public void update(){
if(game.hostServer || !game.hostServer){
packetUpdate.scheduleTask(new Task() {
@Override
public void run() {
gameScreen.playerEntity.updateNetworkPositions();
gameScreen.playerEntity.updateNetworkStates();
if(game.hostServer && gameScreen.launcher.network.client.isConnected()){
for(int i = 0; i < gameScreen.enemyEntityList.size(); i++){
EnemyEntity entity = gameScreen.enemyEntityList.get(i);
entity.listId = i;
if(game.hostServer){
System.err.println("Sending packets");
}
entity.updateNetworkPositions();
entity.updateNetworkStates();
}
}
}
}, 0.05f);
}
}
这个更新方法在我的渲染线程中调用:
@SuppressWarnings("static-access")
@Override
public void render(final float delta) {
lightManager.doStep(delta);
GdxAI.getTimepiece().update(delta);
Gdx.gl.glClearColor(0, 0, 0, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
launcher.update();
}
我已经找到了答案,但没有发现任何答案。在reddit上有一个人有同样的问题,但他没有得到答案。有人可以帮我解决这个问题吗? :)