LIBGDX: Wie zeichne ich ein gefülltes Polygon mit dem Shaprenderer?

8

Ich habe eine Form mit einem Array von Scheitelpunkten definiert:

%Vor%

Und ich zeichne das hier:

%Vor%

Dies gibt nur einen Überblick über die Form.
Wie fülle ich es mit Farbe? Danke

    
dewijones92 19.04.2013, 10:36
quelle

4 Antworten

6

Zur Zeit unterstützt ShapeRenderer das Zeichnen von Polygonen (nach Linien), füllt aber nicht.

Dieser Code schneidet das Polygon auf Dreiecken und zeichnet jedes Dreieck getrennt.

Bearbeiten Sie ShapeRenderer.java wie folgt:

%Vor%     
Anubitum 12.10.2015 08:07
quelle
2

Sie können mit dem Shapefender noch kein gefülltes Polygon zeichnen. Werfen Sie einen Blick darauf aus dem Bugtracker

Sie können das auch in der API lesen.

  

public void polygon (float [] Vertices)
  Zeichnet ein Polygon in der x / y-Ebene. Die Eckpunkte müssen mindestens 3 enthalten   Punkte (6 Schwimmer x, y). Der ShapeRenderer.ShapeType wurde übergeben, um zu beginnen   ShapeRenderer.ShapeType.Line sein.

API ShapeRender
Sicher, wenn es mit ShapeType.Line ist, bekommen Sie nur die Umrisse.
Sie müssen es in diesem Fall selbst mit Dreiecken zeichnen. Es sollte möglich sein, mindestens Dreiecke zu füllen.
Vielleicht werfen Sie einen Blick von Stackoverflow: Zeichnung-gefüllt-Polygon-mit-libgdx

    
BennX 19.04.2013 11:18
quelle
1

Sie sollten dafür Mesh verwenden. Sehen Sie sich den Link an. Vielleicht möchten Sie auch PolygonSpriteBatch .

    
Sajal Dutta 19.04.2013 16:30
quelle
-2

Bearbeiten Sie Ihre ShapeRenderer.java-Klasse und ersetzen Sie die polygon () -Methode durch den folgenden Code:

%Vor%

Verwendung:

%Vor%     
J Fixby 22.07.2014 17:29
quelle

Tags und Links