3 Antworten

Versuche mal das für das rectangle:

Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);

renderer.begin(ShapeRenderer.ShapeType.Filled);
//der letzte Wert hier ist der alpha-Wert, die ersten 3 die Farbe:
renderer.setColor(0, 0, 0, 0.5f);
renderer.rect( 10, 10, 100, 100 );
renderer.end();

Gdx.gl.glDisable(GL20.GL_BLEND);
Antwort bewerten Vielen Dank für Deine Bewertung

Deine List<Rectangle> pipes1Rect wird nirgendwo erstellt und bleibt somit "null". Wenn du eine Methode auf einen solchen "Null-Zeiger" (English Nullpointer) aufrufst, bekommst du eben eine Nullpointer-Exception.

Bevor du also der Liste ein Element hinzufügst, was du in der Zeile 78 versuchst, musst du eine Liste erstellen (z.B. "pipes1Rect = new ArrayList<>()").

Das selbe gilt für die Liste pipes2Rect und vermutlich für ein paar weitere Membervariablen.

LG

Antwort bewerten Vielen Dank für Deine Bewertung

pipes1Rec wird nirgendwo initialisiert.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gut4fr5g4
07.11.2016, 17:18

Exception in thread "LWJGL Application" java.lang.IllegalStateException: autoShapeType must be true to use this method.
at com.badlogic.gdx.graphics.glutils.ShapeRenderer.begin(ShapeRenderer.java:198)
at com.mygdx.game.Map.renderMap(Map.java:113)
at com.mygdx.game.MyGdxGame.render(MyGdxGame.java:21)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:223)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)

bei "shapeRenderer.begin();" was ist daran falsch? :c

0

Was möchtest Du wissen?