@Override public void act(float delta) { super.act(delta); timeStep = delta / 1000.0f; world.step(timeStep, velocityIterations, positionIterations); Scene scene = (Scene) gui.getScene().getElement(); if (scene != null) { for (SceneElement e : scene.getSceneElements()) { ValueMap valueMap = game.getGameState(); Body b = (Body) valueMap.getValue(e.getId(), VAR_PH_BODY, null); if (b != null) { valueMap.setValue(e, SceneElement.VAR_X, (float) (b.getWorldCenter().x * WORLD_SCALE)); valueMap.setValue(e, SceneElement.VAR_Y, (float) (b.getWorldCenter().y * WORLD_SCALE)); valueMap.setValue(e, SceneElement.VAR_ROTATION, (float) Math.toDegrees(b.getAngle())); } } } else { stop(); } }