In die richtige Richtung drehen!
Übersicht

![]() |
MVBBetreff: In die richtige Richtung drehen! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie schaffe ich es, dass gegnerische Raumschiffe sich, in meinem Weltraumshooter, immer in die richtung von meinem Schiff bewegen?
Also, wenn ein Schiff nicht auf meins zeigt, dann soll es sich halt in die schnellst mögliche Richtung drehen bis es auf mein Schiff zeigt! Ich hoffe ihr könnt mir helfen! Danke! ![]() |
||
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Schau mal in der Onlinehilfe nach ATAN | ||
![]() |
Last Anquav Hero |
![]() Antworten mit Zitat ![]() |
---|---|---|
nee, atan2 bessa
Code: [AUSKLAPPEN] winkel=atan2(Spieler_X-Gegner_X,Spieler_Y-Gegner_Y) und tschüss p.s. schaut mal my sig an |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
umgedreht
Code: [AUSKLAPPEN] winkel = ATan2(delta_Y,delta_X) mfg |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
solche Fragen kommt aber öfter mit ATAN2 gehts super hab da auch noch eine demo für ![]() Code: [AUSKLAPPEN] Graphics 800,600,16,2
SetBuffer BackBuffer() Dim Panzer (360) ;PanzerGrafik_berechnen > 360 Einzelbilder < Rect 9,0,2,20 Rect 0,10,20,20,1 Flip Panzer(0) = CreateImage (20,30) GrabImage Panzer(0),0,0 MidHandle Panzer(0) For z= 1 To 359 panzer(z) = CopyImage (Panzer(0)) RotateImage panzer(z),z MidHandle Panzer(z) Text 500,500,z Flip Cls Next x= 400: y= 30 Repeat If MouseHit(1) Then x= MouseX () Y= MouseY () ;Winkel bezieht sich auf den Panzer winkel = Objekt_richtung_grad(x,y ,400 ,300) End If ;Geschuetz_turm_drehen (posPanzer,Winkel ) so könnte die heißen If posPanzer > Winkel And posPanzer -180 < Winkel Then posPanzer = posPanzer -1 If posPanzer > Winkel And posPanzer -180 > Winkel Then posPanzer = posPanzer +1 If posPanzer < Winkel And posPanzer +180 < Winkel Then posPanzer = posPanzer -1 If posPanzer < Winkel And posPanzer +180 > Winkel Then posPanzer = posPanzer +1 If posPanzer = Winkel -180 Or posPanzer -180 = Winkel Then posPanzer = posPanzer +1 If posPanzer < 0 Then posPanzer =359;Damit es im Kreis läuft If posPanzer > 359 Then posPanzer = 0 If posPanzer = Winkel Then Line x,y ,400 ,300 ;Schuss Oval x-5,y-5,10,10,1 ;Klickpunkt malen DrawBlock Panzer(posPanzer),400,300;Panzer malen Text 100,30, posPanzer + " Panzer" Text 100,60, winkel + " Grad" Flip Cls Until KeyHit (1) End Function Objekt_richtung_grad(Zielpunkt_X,Zielpunkt_Y,Ausgangspunkt_X,Ausgangspunkt_Y ) grad =ATan2(Zielpunkt_Y -Ausgangspunkt_Y, Zielpunkt_X -Ausgangspunkt_X)+90; +90 verschiebt die 0Grad Position If grad < 0 Then grad = grad+360 Return grad End Function inklusive der abfragen für den kürzeren Weg Wenn dir dies weiterhilft |
||
[BB2D | BB3D | BB+]
|
![]() |
MVB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group