@Override public void preUIrender(float delta) { // Game-Labels updaten timeLabel.setText("TIME: " + String.valueOf((System.currentTimeMillis() - startTime) / 1000)); timeLabel.setPosition(0, uiStage.getHeight() - timeLabel.getPrefHeight() / 2); livesLabel.setText("LIVES: " + String.valueOf(player.getLives())); livesLabel.setPosition( (uiStage.getWidth() / 2) - (livesLabel.getPrefWidth() / 2), uiStage.getHeight() - timeLabel.getPrefHeight() / 2); // Kamera auf Spieler-X ausrichten, auf Map setzen und Map rendern float playerCenterPos = player.getX() + player.getEntityWidth() / 2; boolean playerOutLeft = playerCenterPos < (SCREEN_WIDTH / 2); boolean playerOutRight = playerCenterPos > (getMap().getMapWidthAsScreenUnits() - (SCREEN_WIDTH / 2)); if (!playerOutLeft && !playerOutRight) camera.position.x = player.getX() + player.getEntityWidth() / 2; else { if (playerOutLeft) camera.position.x = SCREEN_WIDTH / 2; else camera.position.x = getMap().getMapWidthAsScreenUnits() - (SCREEN_WIDTH / 2); } camera.update(); OrthogonalTiledMapRenderer renderer = map.getRenderer(); renderer.setView(camera); renderer.render(); renderer.getSpriteBatch().begin(); // Spieler rendern player.render(renderer.getSpriteBatch()); for (AbstractEntity enemy : entityList) { // Position des Players: float playerWidthPosXLeft = player.getX(); float playerHeightPosLeft = player.getY(); // Position des Gegners: float enemyWidthPosXLeft = enemy.getX(); float enemyHeightPosYLeft = enemy.getY(); // Initialisierung der Spieler-Box und Gegner-Box PlayerBox = new Rectangle( playerWidthPosXLeft, playerHeightPosLeft, player.getWidth(), player.getHeight()); EnemyBox = new Rectangle( enemyWidthPosXLeft, enemyHeightPosYLeft, enemy.getWidth(), enemy.getHeight()); // Gegner rendern enemy.render(renderer.getSpriteBatch()); // Kollisionsfunktion zwischen dem Spieler und Gegnern BoxCollides(PlayerBox, EnemyBox); } // Entitys rendern for (AbstractEntity entity : poolableEntityList) entity.render(renderer.getSpriteBatch()); renderer.getSpriteBatch().end(); }
public SpriteBatch getSpriteBatch() { return (SpriteBatch) levelRenderer.getSpriteBatch(); }