Hallo,
ich baue mir gerade ein kleines snakeartiges spiel zusammen. Man lenkt dort jedoch nicht im 90 grad winkel, somderm kann 360 grad kurven fahren.
Mein Problem ist es, das ich nicht auf die Lösung komme, wie ich mithilfe eines Winkels (von 0 bis 360), der sich verändert (je nachdem ob man rechts oder links lenken drückt) und einer aktuellen X,Y Koordinate (Ursprung) die nachfolgende Koordinate berechnen kann
Hat einer eine Idee?
Danke schonmal
Sinus und Cosinus für x und y - das ganze macht man normalisiert auf 1 und skaliert danach mit der geschwindigkeit
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Das habe ich auch versucht aber das sieht alles andere als "Kreisförmig aus"
hast du vielleicht eine Formel die ich direkt einbauen kann also bisher habe ich
x = (Math.Sin(WinkelBogen) * 1) + x;
y = (Math.Cos(WinkelBogen) * 1) + y;
Also erst bin ich zum testen nur 90 Grad winkel gefahren da funktionierte alles super aber mit der 360 grad funktion will es nicht funktionieren
Du musst deine vorhandene Richtung mitbeachten ...
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Ich verweise mal auf meine Seite: http://zicore.de/dev/?p=news&id=2
Komplettes Projekt 😃
Der Download link ist noch falsch hab ich gerade gemerkt also ist es angehängt.
Hallo BVBShooter,
[...] (WinkelBogen) * 1) [...]
Fällt dir was auf? 😃
ich glaube ich bin langsam zu dumm geworden... Es will einfach nicht funktionieren habe mir gerade das SuperSnake angeschaut blicke dort aber nicht gut durch, da dort nicht wirklich etwas kommentiert ist
Hallo BVBShooter,
aus (momentaner) Richtung und Geschwindigkeit (quasi polare Koordinaten, also Winkel und Länge), kannst du ausgehend von einem Startpunkt (rechtwinklige Koordinaten, also x und y) den Endpunkt berechnen. Im Grund musst du also nur die polaren Koordinaten in rechtwinklige umrechnen, damit du sie einfach auf den Startpunkt aufaddieren kannst, um den Endpunkt zu erhalten.
Und wie man polare Koordinaten in rechtwinklige umrechnest, findest du nun wirklich überall im Forum und im Netz.
herbivore
Hallo BVBShooter,
das habe ich gerade beantwortet. Damit solltest du das ohne weiteres hinbekommen. Bitte etwas mehr Eigeninitiative.
herbivore