Ich habe mehrere Lösungen zum Zeichnen von Kreisen zu generierten Koordinaten ausprobiert. Es funktioniert nicht, aber ich weiß nicht, was das Problem mit filledCircle-Methode ist? Wie kann ich es ersetzen?LibGDX ShapeRenderer Kreiszeichnung
Nachricht:
FilledCircle nicht aufgelöst werden kann oder kein Feld
Code:
package com.example.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
public class MainClass extends ApplicationAdapter {
SpriteBatch batch;
OrthographicCamera camera;
ShapeRenderer shapeRenderer;
private Sprite sprite;
@Override
public void create() {
shapeRenderer = new ShapeRenderer();
batch = new SpriteBatch();
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
Gdx.gl.glDisable(GL20.GL_BLEND);
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(sprite, 200, 200, 64, 64);
shapeRenderer.begin(ShapeType.FilledCircle);
shapeRenderer.filledCircle(50, 50, 32);
shapeRenderer.setColor(Color.BLACK);
shapeRenderer.end();
batch.end();
}
}
Beachten Sie, dass * verwendet * zu "filledCircle" Methoden und Typen. Eine der Bereinigungen vor 1.0.0 entfernte eine Menge Redundanz aus der 'ShapeRenderer' Klasse. Es gibt wahrscheinlich andere SO-Antworten, die sich immer noch auf die alte API beziehen. –
Als Referenz: http://www.badlogicgames.com/wordpress/?p=2809 – Xoppa
Es ist in Ordnung, aber jetzt gibt es eine NullPointer-Ausnahme in Zeile 36. Gibt es ein Problem mit Batch? Was sollte das Problem sein? – plaidshirt