Other languages > GLBasic - de

falsche Winkel

(1/4) > >>

WPShadow:
Hi,

Ziel ist es, daß sich das Objekt (ownship.x, ownship.y) zur Maus (mx, my) hin bewegt. Dabei hole ich mir den Winkel (phi) zwischen den beiden.

Was ist hier falsch:


--- Code: --- pos_x = mx - ownship.x
pos_y = my - ownship.y

phi = ATAN(pos_y, pos_x)

move_x = (SIN(phi) * ownship.speed) * t
move_y = (COS(phi) * ownship.speed) * t

INC ownship.x, move_x
INC ownship.y, move_y

--- End code ---

GLG

W.

backslider:
Hi WPShadow,

Du kannst ja mal in meinem 2DEntitySystem gucken, wie ich es gelöst habe. ;)

http://www.glbasic.com/forum/index.php?topic=8242.0

Cheers

Poetronic:
Kann man den Winkel zwischen Start- und zielkoordinate nicht wie folgt berechnen?


--- Code: ---winkel = ATAN(pos.y - mouse.y, pos.x - mouse.x)
--- End code ---

WPShadow:
Ok, einen Teil der Fehler habe ich raus gebracht, aber leider nicht alles...


--- Code: ---
pos_x = mx - ownship.x
pos_y = my - ownship.y

phi = 360 + ATAN(pos_y, pos_x)

e_x = ABS(pos_x)
e_y = ABS(pos_y)



entfernung = SQR((e_x * e_x) + (e_y * e_y))

PRINT entfernung, 0, 20
PRINT phi, 0, 40


IF entfernung > 1
move_x = (COS(phi) * ownship.speed) * t
move_y = (SIN(phi) * ownship.speed) * t
ENDIF

INC ownship.x, move_x
INC ownship.y, move_y

ownship.x = INTEGER(ownship.x)
ownship.y = INTEGER(ownship.y)


--- End code ---

backslider:
Geht das hier nicht?

--- Code: ---//das hier mal umdrehen ganz oben?
pos_x = ownship.x - mx
pos_y = ownship.y - my

--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version