2016-11-12 1 views
0

Ich mache ein 2D isometrisches gekacheltes Spiel mit LibGDX. In meiner Klasse Spieler, ich habe eine vector2 geschaffen, die ich 'pos' nannte die Spielerposition zu verwalten, dann ziehe ich meinen Player mit:Java LibGDX: Wie bekomme ich ein kartenbasiertes Koordinatensystem?

batch.begin(); 
batch.draw(localPlayer.texture,LocalPlayer.pos.x,LocalPlayer.pos.y); 
batch.end(); 

sagen Let pos = (0,0), dann wird der Spieler sein gerendert in der unteren linken Ecke meines Bildschirms.

Wenn ich die Kamera übersetzen, die (0,0) noch mit der linken unteren meines Bildschirms entsprechen, so dass der pos Vector2 ist über das LCD-Display, nicht meine Karte ...

Was soll ich tun, um bekomme ein Koordinatensystem basierend auf der Karte und nicht auf meinem Bildschirm? Ich würde es vorziehen, die Sprite-Klasse mit ...

Danke :)

+1

Haben Sie versucht, 'batch.setProjectionMatrix (camera.combined)' aufzurufen? –

Antwort

1

Basim Khajwal richtig war,

Aufruf batch.setProjectionMatrix (camera.combined) funktioniert perfekt :)

jedoch wenn Sie für ein tieferes Verständnis suchen, können Sie auch diesen Artikel lesen Sie hier:

http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/

Wo "Ansichtsposition" Ihre Bildschirmposition und "Modellposition" Ihre Kartenposition ist.

+0

Vielen Dank für die Beantwortung Ihrer eigenen Frage und halten Sie diesen Platz sauber. Hier haben Sie eine weitere Stimme und haben genug Reputation, um Kommentare abzugeben. – Madmenyo

Verwandte Themen