Frage Wie zeichne ich benutzerdefinierte Formen mit einer einfachen Textur in libgdx?


Ich möchte in meinem Spiel benutzerdefinierte statische Formen zeichnen, genau wie die wütenden Vögel: angry birds

aber das Problem ist, dass die Textur in quadratischer Form ist.

static ground

wie können wir dem "SpriteBatch" sagen, Formen mit einigen Ecken zu zeichnen? Hat jemand ein paar Ideen?


6
2018-05-11 08:22


Ursprung


Antworten:


Entsprechend der Dokumente:

Ein SpriteBatch wird zum Zeichnen von 2D-Rechtecken verwendet, die auf eine Textur (Region) verweisen.

Mit dieser Methode können Sie also im Grunde keine andere Geometrie als ein Rechteck angeben. Es gibt jedoch ein Methode zeichnen Damit können Sie die vier Koordinaten des "Rechtecks" angeben und in etwas anderes verwandeln. Sie müssen die Geometrie in kleinere Stücke zerlegen, die dazu passen Primitive. Diese Methode eignet sich nicht für Geometrieänderungen.

Besser du Erstellen Sie ein Netz und zeichne es einfach. Das Mesh unterstützt keine Triangulation. Verwenden Sie daher das ObjLoader.loadObj * Methoden zum Laden eines Meshes in Alias ​​Wellenfront OBJ Format. Die Angabe der Geometrie sollte kein Problem darstellen. Der Artikel verlinkt auf einige Beispieldateien.


4
2018-05-11 09:03