Richtung aus Sinus und Cosinus berechnen?
Übersicht

![]() |
SmilyBetreff: Richtung aus Sinus und Cosinus berechnen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Wenn ich eine Variable habe, in der die Richtung steht (In °) kann ich ein Bild so über den Bildschirm bewegen: Code: [AUSKLAPPEN] X# = X# + Sin(Richtung)
Y# = Y# + -Cos(Richtung) Wie muss ich dass aber machen, wenn ich die Richtung aus Sinus und Cosinus berrechnen will? Ich bin bereits Soweit gekommen: Code: [AUSKLAPPEN] RichtungX = Asin(SchritteX#)
RichtungY = Acos(SchritteY#) Nun habe ich aber 2 Werte. Was muss ich nun machen, wenn ich daraus die Richtung berechnen will? |
||
Hot-BitSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi.
x=x+COS(winkel)*speed y=y+SIN(winkel)*speed Besser wäre es noch, wenn du xvel und yvel auch noch includierst. Toni |
||
... ..... .i.. ...
*** Sieger des BB-Gameboy-Contest 2004 Sieger des Blitzbaster 2D-Minigolf-Contest 2005 *** |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was hat das jetzt mit meiner Frage zu tun?
Ich habe doch nicht gefragt, wie ich die Geschwindigkeit einstellen kann. |
||
Hot-BitSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi.
Du brauchst also den Winkel aus deiner Bewegung heraus ? Code: [AUSKLAPPEN] winkel#=(ATan2(yvel,xvel)+360) Mod 360
Code: [AUSKLAPPEN] speed# = Sqr(xvel*xvel + yvel*yvel)
Vielleicht kannst damit was anfangen ... Toni |
||
... ..... .i.. ...
*** Sieger des BB-Gameboy-Contest 2004 Sieger des Blitzbaster 2D-Minigolf-Contest 2005 *** |
Antsan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab ein ähnliches Problem: Ich wollte per Mausklick ein Männchen (mit drehen) über den Bildschirm bewegen. Das heisst, ich habe nur den Abstand zwischen dem aktuellem Punkt und dem Zielpunkt. Wie kann ich daraus einen Winkel zwischen 0 und 360 Grad berechnen? | ||
Hot-BitSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi.
Steht doch oben, oder ? Toni |
||
... ..... .i.. ...
*** Sieger des BB-Gameboy-Contest 2004 Sieger des Blitzbaster 2D-Minigolf-Contest 2005 *** |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Atan / Atan2. -> OH! | ||
~ Hey Ho Let's Go ~ |
![]() |
SmilyBetreff: Bild Drehen. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich habe da noch ein anderes Problem. Ich möchte es so machen: Wenn ich die Maus über den Bildschirm bewege, dann dreht sich die Maus immer in die Richtung, in die sie sich bewegt. Wenn ich die Einzelnen Bilder Deklariere (360: Für jede Richtung eins), Dauert jedes Länger als das Vorherige. Wieso? Ich kopiere immer das Bild davor und drehe es um 1°. Außerdem sind am Rand die Maskfarben zu erkennen. |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also:
Setzte vor dem Drehen TFORMFILTER auf 0 und dreh das immer mehr: Code: [AUSKLAPPEN] TFORMFILTER 0 image = loadimage("Maus.bmp") dim imager(359) for i = 1 to 395 createimage imager(i) = rotateimage image,i next TFORMFILTER 1 Dadurch beugst du dem Fehler vor der bei zu vielem drehen entstehen kann: Wenn du ein Bild drei Mal gedreht hast, sind die Pixel teilweise verschoben, da sie ja nicht genau gezeichnet werden!!! nach 359 umdrehungen würde dein Bild ziemlich verhunzt aussehen!! |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde sagen
1. nicht das vorangegangene Bild um 1° drehen, sondern das Originalbild immer um 1° _mehr_ (d.h. zuerst kopieren, dann um den wert, den du in einer Zählschleife erhöhst, drehen) 2. Zitat: Außerdem sind am Rand die Maskfarben zu erkennen.
Hast du MaskImage vor oder nach dem rotieren eingesetzt? Wenn letzteres der Fall ist, setze den Befehl vor RotateImage. grüße, Spike |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group