Winkel + Bewegung etc.
Übersicht

Xawer23Betreff: Winkel + Bewegung etc. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich habe leider wieder ein Problem mit meinem RTS. Und zwar möchte ich, dass sich Einheiten ZIELSTREBIG auf den Zielpunkt zubewegen. Ich weiß dass ich sowas it 12. Klasse Mathematik locker schaffen müsste, und ich habe auch im Forum nach 'Bewegungswinkel' gesucht und beide Themen durchgelesen. Vlt. einfach zuviel Theorie. Auch wenn euch das sicher trivial erscheint, kann es bitte nochmal jemand erklären? Einfach nur, wie ich vx und vy werte kriege, mit denen nich ein objekt vom Punkt x1,y1 zum punkt x2,y2 bewegt. Danke. ![]() |
||
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Magst du selbst tüfteln?
Es hat was mit der Differenz aus Start- und Zielkoordinaten, dem Befehl ATan2 ![]() ![]() ![]() ![]() Ich habe gerade leider keine Zeit für ein Beispiel. MFG EDIT: http://de.wikipedia.org/wiki/Atan2#atan2 |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du fragst nach der BPS#11.
Es gibt hier zwei verschiedene Möglichkeiten: 1. Winkel: Vermittels einer Arkus*-Funktion (am besten ATan2 ![]() ![]() ![]() 2. Vektor ohne Winkel berechnen. Wenn du eine konstante Geschwindigkeit für die Bewegung hast, bekommst du mit BlitzBasic: [AUSKLAPPEN] Sqr(x*x+y*y)die Länge des gewünschten Gesamtvektors raus und hast die Zeit. Wenn du die Zeit hast, teilst du den Gesamtvektor in Zeit/FPS Einheiten und hast den Vektor für die Bewegung. Je nach dem, wie es bei dir mit Sin/Cos steht, ist eine der beiden Lösungen einfacherer. Die 2. ist schneller. ZEVS |
||
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
x=x2-x1
y=y2-y2 So bekommst du einen Vektor, der den X und Y-Abstand der beiden Punkte beschreibt. Den musst du dann noch normalisieren. Dass heißt, er wird auf die länge 1 skaliert. Das machst du, indem du den x- und den y-Anteil durch die Länge des Vektors teilst. Die Länge bekommst du über den Satz des Pytagoras raus: länge=Wurzel(x² + y²) Dann noch teilen: vx=x/länge vy=y/länge Um die Einheiten zu bewegen musst du dann nurnoch vx und vy mit der gewünschten Geschwindigkeit malnehmen und auf die Position addieren. |
||
1 ist ungefähr 3 |
Xawer23 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke sehr für die schnelle Hilfe!
Ich wusste schon, dass es mit dem Satz des Pythagoras, Sinus und Cosinus zusammenhängt... aber ich habe bei all den Funktionen und Begrifflichkeiten den überblick verloren. Am praktikabelsten für mich ist wohl die Lösung von Das Wurgel, da die Bewegungsgeschwindigkeit im Spielverlauf upgradebar sein soll und ich da am ehesten den Überblick behalte. Es nützt mir ja nichts, Code zu verwenden den ich nicht verstehe. ![]() Edit: waaaaah, es funktioniert!!! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group