Slick2D SpriteSheet drehen in kuckrichtung

gerredtor

Mitglied
Hallo, ich suche eine möglichkeit in slick2d mein spritesheet in meine mausrichtung zu drehen also in schaurichtung, egal wie viel grad, ev. geht das mit spritesheet nicht, wie mache ich das am besten ?
 
Hey gerredtor,

das ist auch mit Spritesheets und ein bisschen Mathematik möglich sein.
Für dein Spirtesheet gibt es die Methode
Java:
public void setRotation(int angle) { .. }

Du brauchst also nur den Winkel, den du der Methode übergeben kannst. Den Winkel bekommst du so:

Java:
// Du holst dir die Location deiner Maus:

Input userInput = gameContainer.getInput();
float mouseX = userInput.getMouseX();
float mouseY = userInput.getMouseY();

/*
 * Die Position deiner Maus und die Position des "Spielers" kann genutzt werden, um herauszufinden wohin der Spieler schauen muss.
 * Stell dir vor du zeichnest eine Linie zwischen deinem Spieler und der Maus. Von dieser Linie brauchst du den Winkel.
 */
Vector2f playerLoction = playerImage.getLocation();
float xDistanze = mouseX - playerLocation.x;
float yDistanze = mouseY - playerLocation.y;

double angle = Math.toDegrees(Math.atan2(yDistanze, xDistanze));

playerImage.setRotation(angle);

Das ganze musst du jetzt natürlich noch so einbauen, dass er die x und y Coords immer updatet, aber du sollst ja auch noch ein bisschen tüfteln 😛

Gruß
Robert
 

Zurück
Oben