Turmdrehung
Übersicht

![]() |
Randall FlaggBetreff: Turmdrehung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bastel grad an einem Strategiespiel á la "Z".
Aber ich will auch Abwehrtürme einbauen. Wie kann ich das machen, das sich ein Turm automatisch zum Gegner dreht? Für die, die nen Code haben wolln: Bisher ist noch keiner vorhanden, ist bisher alles auf Papier (Zeichungen und so'n Zeug). |
||
Meine Parodien & Geschichten |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, das machst du am Besten mit ATan2....
Musst suchen, findest sicher ein gutes Beispiel.... [edit] Noch ein kleiner Codeschnipsel...: Code: [AUSKLAPPEN] Graphics 640,480,32,2 Global x#,y# SetBuffer BackBuffer() While Not(KeyHit(1)) Oval 200,200,200,200,0 mx=MouseX() my=MouseY() mix=300-mx miy=300-my winkel = ATan2(miy,mix) x=300-Cos(winkel)*100 y=300-Sin(winkel)*100 Oval x-5,y-5,10,10,1 Text 10,10,winkel Flip Cls Wend End [/edit] |
||
- Zuletzt bearbeitet von simi am So, Feb 13, 2005 13:09, insgesamt einmal bearbeitet
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
was ist denn Atan 2? | ||
Meine Parodien & Geschichten |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
das hatten wir doch erst vor kurzem!
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 Text 500 ,500," Berechne Panzer : " + z If z Mod 10 = 0 Then Flip Cls Next x = 400 : y = 30 ; damit der zielpunkt zu sehen ist Repeat If MouseDown (1) Then x = MouseX () Y = MouseY () ;Winkel bezieht sich auf den Panzer winkel = Objekt_richtung_grad (x,y ,400 ,300) End If posPanzer = (posPanzer + drehAufZiel (pospanzer,winkel) + 360) Mod 360 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 grad = (grad + 360) Mod 360 Return grad End Function Function drehAufZiel (pospanzer,winkel) If posPanzer > Winkel Then If posPanzer - 180 < Winkel Then Return - 1 Else If posPanzer + 180 < Winkel Then Return - 1 End If Return 1 End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
irgendwie blicke ich da vol nicht durch.
Ich glaub ich schau mal im Netz nach n paar Tuts. Trotzdem danke. |
||
Meine Parodien & Geschichten |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group