public void onUpdate(double tpf) { getViewport().onUpdate(tpf); }
/** * Unbinds viewport, clears game views and UI nodes. */ public void clear() { log.debug("Clearing game scene"); getViewport().unbind(); gameRoot.getChildren().clear(); uiRoot.getChildren().setAll(profilerText); }
/** * Generates view from tiles. * * @param map parsed Tiled map * @param layerName layer name as specified by Tiled * @param renderLayer created view will use this render layer * @return builder */ public EntityBuilder viewFromTiles(TiledMap map, String layerName, RenderLayer renderLayer) { entity.getViewComponent().setView(tilesToView(map, layerName), false); entity.getViewComponent().setRenderLayer(renderLayer); // https://github.com/AlmasB/FXGL/issues/474 if (FXGL.getSettings().isExperimentalTiledLargeMap()) { entity.xProperty().bind(FXGL.getApp().getGameScene().getViewport().xProperty()); entity.yProperty().bind(FXGL.getApp().getGameScene().getViewport().yProperty()); } return this; }
private void initViewport(double w, double h) { Viewport viewport = getViewport(); gameRoot.layoutXProperty().bind(viewport.xProperty().negate()); gameRoot.layoutYProperty().bind(viewport.yProperty().negate()); Scale scale = new Scale(); scale.pivotXProperty().bind(viewport.xProperty()); scale.pivotYProperty().bind(viewport.yProperty()); scale.xProperty().bind(viewport.zoomProperty()); scale.yProperty().bind(viewport.zoomProperty()); gameRoot.getTransforms().add(scale); Rotate rotate = new Rotate(0, Rotate.Z_AXIS); rotate.pivotXProperty().bind(viewport.xProperty().add(w / 2)); rotate.pivotYProperty().bind(viewport.yProperty().add(h / 2)); rotate.angleProperty().bind(viewport.angleProperty().negate()); gameRoot.getTransforms().add(rotate); }