Rotieren eines Objekts (2D)

GeRrItK.

Mitglied
Hallo Leute,

ich programmiere seit kurzem mit Java und habe das Tutorial von Quaxli mal durchgearbeitet. Ich habe das nun soweit fertig und mir schon aus dem Hubschrauber nen Auto gebastelt und aus den Raketen andere Autos und nen paar Besonderheiten eingefügt.

Nun möchte ich mein Auto "richtig" steuern. Also wenn ich Rechts drücke das sich das Auto nach rechts dreht. Wie kann ich das bewerkstelligen? Zudem muss die Berechnung der Bewegung dann ja auch anders aussehen. Wie berechnet man das ganze dann?

Man muss dann ja anhand der Rotation die Verschiebung auf X und Y Achse berechnen? Leider bin ich bisher nur auf die Idee gekommen die beiden Katheten des dadurch entstehenden Dreiecks zu berechnen und das Auto anhand dieser Werte zu bewegen. Dies schien mir aber auch nicht wirklich sinnvoll, da das Auto dann ja nicht die Hypothenuse abfährt sondern einen Bogen.

Ich hoffe auf Hilfe :)

Gruß,
Gerrit
 

GeRrItK.

Mitglied
Hmm ich hab mir das jetzt ein wenig durchgelesen und so aber iwie steig ich nicht durch wie man damit nen Objekt drehen kann? o_O Sieht für mich alles iwie eher aus wie Animation und Kurvengleichungen :D
 

Cola_Colin

Top Contributor
Ich hab das in einem früheren Projekt einmal mit folgenden Formeln gemacht:

Java:
int xSpeed = Math.cos(angleOfMovementInRadians) * straightForwardSpeed;
int ySpeed = Math.sin(angleOfMovementInRadians) * straightForwardSpeed;

Dann bei der Bewegung der Spielfigur x und y getrennt mit der jeweiligen Geschwindigkeit bewegen.

Dazu musst du dann das Auto eben irgendwie drehen, dass hängt von deiner Zeichentechnik, ab wie du dass am besten realisierst, die Klasse Graphics2D bietet da durchaus einige Methoden zur Rotation.
 

GeRrItK.

Mitglied
Wenn ich jetzt noch wüsste wie ich mein Auto drehen kann dann könnte man es ja glatt mal austesten :D

EDIT:

Bei Tastendruck habe ich jetzt folgenden Code:
Java:
xSpeed = (int) Math.cos(Math.toRadians(45)) * speed;
ySpeed = (int) Math.sin(Math.toRadians(45)) * speed;
rtw01.setHorizontalSpeed(xSpeed);
rtw01.setVerticalSpeed(ySpeed);

Allerdings bewegt sich mein Auto keinen Zentimeter?!

EDIT²:

Habs nun. Den Datentyp auf Double geändert. ^^ jetzt fehlt nurnoch meine Drehmethode :D
 
Zuletzt bearbeitet:

Cola_Colin

Top Contributor
Was genau fehlt dir noch ?
Das Auto muss seine aktuelle Drehung im Bogenmaß plus seine Geschwindigkeit kennen, und wird dann nach den Formeln bewegt.
Die Drehung wird von Pfeil links und rechts beeinflusst.

Beim Zeichnen wird die Grafik jeweils gedreht gezeichnet, dass geht bei Verwendung von der Graphics-Klasse (die verwendet Quaxlis Tutorial doch ?!) z.B. so:
Java:
        AffineTransform af = g2d.getTransform();
        g2d.rotate(angleInRadians, centerOfCarX, centerOfCarY);

        g2d.drawImage(...);

        g2d.setTransform(af);

EDIT:

Die konstante 45 ist da ein wenig Witzlos, wenn du das Auto dynamisch drehen willst, das ist dir klar, oder ?

Es müsste eher so aus sehen:

//Reaktion auf Pfeil rechts:
carAngle += 0.1; // Wert ist geraten, frag mich nicht wie schnell das sich bei 0.1 jetzt drehen wird.

bei Pfeil Links eben -= statt +=. Wobei auch das könnte andersrum sein.

Dann anhand des neuen Winkels die Geschwindigkeit für x und y berechnen und diese verwenden.
 
Zuletzt bearbeitet:

GeRrItK.

Mitglied
Ja die konstante war nur zum testen ;) Mein Auto kann jetzt schonmal seine Runden drehen nur halt mit der Nase in die falsche Richtung :D

Die Graphics Methode sieht so aus:
Java:
public void drawObjects(Graphics g) {
g.drawImage(pics[currentpic], (int) x, (int) y, null);
}

Was müsste ich da jetzt alles neu definieren?!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Affine Transformation, Rotieren eines Objekts Spiele- und Multimedia-Programmierung 2
J Rotieren eines 2D Images endet in Java heap space Error Spiele- und Multimedia-Programmierung 15
B MarioKart Map rotieren? Spiele- und Multimedia-Programmierung 6
D 2D Pixelbild rotieren Spiele- und Multimedia-Programmierung 3
TulPe Würfel per Mausklick rotieren Spiele- und Multimedia-Programmierung 10
Creylon [LWJGL] 2D Sprite Rotieren/Drehen Spiele- und Multimedia-Programmierung 6
B j3d mehr als ein Objekt rotieren Spiele- und Multimedia-Programmierung 18
M [Java3D] Rotieren der Scene NICHT des POV Spiele- und Multimedia-Programmierung 4
Developer_X 3D Point rotieren lassen Spiele- und Multimedia-Programmierung 17
S Schiff in Richtung der Maus rotieren - Problem :/ Spiele- und Multimedia-Programmierung 5
Tr3kk3r Kamera nur um x und y, nicht um z achse rotieren Spiele- und Multimedia-Programmierung 2
D Dreieck um den Mittelpunkt rotieren lassen Spiele- und Multimedia-Programmierung 9
P Rechteck rotieren und frontal anzeigen Spiele- und Multimedia-Programmierung 2
A Objekte nacheinander zeitgesteuert rotieren lassen Spiele- und Multimedia-Programmierung 4
N Seltsame Exception bei Code eines Spiele-Tutorials Spiele- und Multimedia-Programmierung 6
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
K Click innerhalb eines 45° gekippten Rechtecks Spiele- und Multimedia-Programmierung 9
J LibGdx_3D: Klamotten eines Charakters modifizieren Spiele- und Multimedia-Programmierung 2
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
L OpenGL TransformationMatrix eines Flugzeugs Spiele- und Multimedia-Programmierung 2
M Programmierung eines "Fantasy Rollenspiels" Spiele- und Multimedia-Programmierung 5
E Laufanimation eines Sprites Spiele- und Multimedia-Programmierung 6
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
T Hintergrundmusik eines Spiels mit Hilfe von JLayer Spiele- und Multimedia-Programmierung 12
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
M bewegen eines Objektes Spiele- und Multimedia-Programmierung 2
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
X "Rebuffen" - Messen der Zeit eines Timers Spiele- und Multimedia-Programmierung 3
S Design eines Schachspiels Spiele- und Multimedia-Programmierung 3
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
F Programmierung eines Bots Spiele- und Multimedia-Programmierung 23
A Wann ist ein Punkt inerhalb eines Polygons? Spiele- und Multimedia-Programmierung 2
F LWJGL Problem mit Erstellen eines Objekts und der Kamera Spiele- und Multimedia-Programmierung 5
R Drehen eines Bildes relativ zur Mauszeigerposition Spiele- und Multimedia-Programmierung 2
M Pattern zur Auswahl eines Objektes anhand vieler Kriterien Spiele- und Multimedia-Programmierung 2
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
R Triangulation eines komplexen Polygons Spiele- und Multimedia-Programmierung 4
L Lwjgl Darstellung eines Kreises im Raum Spiele- und Multimedia-Programmierung 3
M Pixel eines BufferedImage bearbeiten (Performance) Spiele- und Multimedia-Programmierung 23
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
S Umfang eines Polygons erzeugen Spiele- und Multimedia-Programmierung 1
D Highscoreliste eines Applets funktioniert online nicht Spiele- und Multimedia-Programmierung 4
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
D Koordinaten eines 2D Sprites Spiele- und Multimedia-Programmierung 2
B Teile eines Bildes laden - BitBlk und drawImage Spiele- und Multimedia-Programmierung 3
S Interpolation eines Bildes Spiele- und Multimedia-Programmierung 6
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
N Bildposition innerhalb eines anderen Bildes ermitteln Spiele- und Multimedia-Programmierung 2
G rotation eines würfels Spiele- und Multimedia-Programmierung 9
G Bewegung eines Grafikobjektes Spiele- und Multimedia-Programmierung 7
A Programmieren eines Bruchrechners Spiele- und Multimedia-Programmierung 3
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
S fließende/bewegende Striche eines Auswahlrechtecks Spiele- und Multimedia-Programmierung 9
A Bounds eines gedrehten Objekts berechnen Spiele- und Multimedia-Programmierung 30
T Erstellen eines ausdruckbaren Formulars Spiele- und Multimedia-Programmierung 5
T Umsetzung eines 2D Jump and Runs Spiele- und Multimedia-Programmierung 7
T Brightness eines Bildes [DRINGEND] Spiele- und Multimedia-Programmierung 2
S Java3D - mehrere Instanzen eines Geometrieobjektes erzeugen Spiele- und Multimedia-Programmierung 3
ARadauer Grauwerte eines jpg ermitteln Spiele- und Multimedia-Programmierung 4
A Anzeigen eines Grapfen Spiele- und Multimedia-Programmierung 13
R Die korrekte Breite/Höhe eines Bildes wird nicht erkannt. Spiele- und Multimedia-Programmierung 2
S Problem bzgl. Umsetzung eines Rollenspiel Spiele- und Multimedia-Programmierung 6
M Ausschneiden eines Bereichs / Avatar Spiele- und Multimedia-Programmierung 2
G Ermitteln eines Punktes in einer anderen TransformGroup Spiele- und Multimedia-Programmierung 2
M Frage eines Anfängers Spiele- und Multimedia-Programmierung 3
DEvent [2D] Farbe bestimmten Pixels eines Bildes ändern Spiele- und Multimedia-Programmierung 3
V Wie berechnet man das Bild eines Schwarzen Loches in Java? Spiele- und Multimedia-Programmierung 10
G Breite eines Strings Spiele- und Multimedia-Programmierung 2
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
F Image eines bestimmten Bereichs eines JPanels erstellen Spiele- und Multimedia-Programmierung 4
N Grafik als Hintergrund eines Rechtecks verwenden? Spiele- und Multimedia-Programmierung 4
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
F Brauche Hilfe bei Bewegung eines Rechtecks [Applet] Spiele- und Multimedia-Programmierung 5
T Java2D Spiel, beim Hinzufügen eines Bildes ruckelt das ganze Spiele- und Multimedia-Programmierung 3
F Position eines Objektes auslesen. Spiele- und Multimedia-Programmierung 7
W Rotation eines Objektes Spiele- und Multimedia-Programmierung 2
M Zerschneiden eines Bildes mit Wellenlinien? Spiele- und Multimedia-Programmierung 2
S Simulation in der Art eines Schachbrett Spiele- und Multimedia-Programmierung 2
A 2-Achsen Rotation eines Würfels Spiele- und Multimedia-Programmierung 4
L nicht sichtbare Kanten eines Würfels Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben