Frage von gut4fr5g4, 15

libgdx rectangle drawn?

Wie kann ich in libgdx (Java) ein rectangle drawn?

batch.draw erwartet ja eine texture und kein rectangle!

Wäre nice, wenn jemand hilft...

Antwort
von Springrbua, 5

In LibGDX gibt es verschiedene "Renderer", welche dafür zuständig sind Dinge zu zeichnen.  

Einer davon ist der SpriteBatch, welcher Texturen, Sprites und ähnliches zeichnen kann. Ein weiterer wäre der ModelBatch, welcher 3D Modelle zeichnen kann. Der Renderer den du suchst ist der ShapeRenderer. Er ist, wie der Name bereits sagt, dafür zuständig Shapes, also einfache, geometrische Formen zu zeichnen.

Dieser wird allerdings meist nur zu Debuging-Zwecken verwenden, z.B. die Hitbox zu zeichnen. Für das Game selbst werden im Normalfall immer Texturen, Sprites u.s.w. verwendet.

Wichtig:

Solltest du mehrere Renderer verwenden (auch mehrere Instanzen des selben Renderer-Typs), muss du sicherstellen, dass du "end()" aufrufst, bevor du einen anderen Renderer mit "begin()" startest. Es darf also immer nur ein Renderer zu jedem Zeitpunkt aktiv sein.

LG

Antwort
von jaunel, 11

Wenn es nur um einfache Formen geht, dann am besten mit dem ShapeRenderer.

ShapeRenderer renderer = new ShapeRenderer();

renderer.begin( ShapeRenderer.ShapeType.Filled); bzw.
renderer.begin( ShapeRenderer.ShapeType.Line);                        renderer.setColor( Color.BLACK );                                                       renderer.rect( x, y, width, height );                                                      renderer.end();

Kommentar von gut4fr5g4 ,

http://hastebin.com/ifiwudigir.http

Wieso habe ich in Zeile 78 eine nullpointer-exception?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten