Frage von SirNik, 72

Wozu dient die Klasse SpriteBatch des libGDX-Frameworks?

Hallo zusammen :D

Ich lese mir gerade die wiki von libGDX durch und irgendwie verwirrt mich folgendes ein bisschen...:

https://github.com/libgdx/libgdx/wiki/Spritebatch%2C-Textureregions%2C-and-Sprit...

Was ich weiß ist, dass eine Textur verschiedene Textur-Regionen haben kann, die einzeln gezeichnet werden können (siehe Bild -> Links textur und rechts mögliche Texturregionen).

Aber wozu brauch ich jetzt SpriteBatch?

Kann mir das mal jemand (möglichst alle zusammenhänge) so auf deutsch erklären, als ob ich 6 wäre ? :D

Vielen Dank schonmal :D

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Springrbua, 23

Hallo,

die Klasse SpriteBatch dient dazu Texturen (auch TextureRegions) zu "zeichnen". Dabei verwaltet er einen Buffer, der eine gewisse Anzahl an drawcalls (Zeichenaufrufen) zu einem Batch bündelt und sie dann eben gebündelt an die Grafikkarte schickt.  

Zudem können für den SpriteBatch verschiedene Dinge gesetzt werden, die die gezeichneten Texture verändern können (z.B. Shader, Color...).  

Wichtig ist, dass du einen SpriteBatch "aktivierst", bevor du beginnst mit ihm zu zeichnen (spritebatch.begin()). Sobald du fertig gezeichnet hast musst du spritebatch.end() aufrufen. Dadurch wird sein Buffer an die Grafikkarte geschickt, wodurch dann alles wirklich gezeichnet wird.  

Wichtig: Es darf immer nur 1 Batch zur selben Zeit aktiv sein. Das heißt, wenn du mit verschiedenen Batches zeichnest musst du end() aufrufen, bevor du begin() des anderen Aufrufst. Zu den Batches gehört auch der ShapeRenderer oder ModelBatch (für 3D).

Ich hoffe ich konnte helfen.

LG

Kommentar von SirNik ,

Danke dir :D

Kommentar von Springrbua ,

Noch ein kleiner Tipp: Wenn du mit Englisch kein Problem hast würde ich dir bei Fragen zu LibGdx (oder Programmieren im Allgemeinen) eher zu StackOverflow raten. Da StackOverflow international ist, sind deutlich mehr aktive Leute dort unterwegs (u.A. auch einige der Entwickler von LibGdx). Während es hier auf Gute Frage gerade einmal 13 Fragen zu LibGdx gibt, die auch kaum Beachtung fanden, gibt es auf SO über 8000 Fragen.

LG

Kommentar von SirNik ,

Joa :D SO guck ich auch gerne nach, aber Fragen stellen tu ich eig fast nur hier :) aber hast recht, ist eig sinnvoller auf SO :D

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten