2D Schussfunktion: Wie?
Übersicht

![]() |
BjörnBetreff: 2D Schussfunktion: Wie? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
also erstmal Code ![]() Code: [AUSKLAPPEN] Graphics 1024,768,32,1
SetBuffer BackBuffer() ; Konstanten und Globals ########################### Const oben =200 Const unten =208 Const links =203 Const rechts =205 Global x1# = 300, y1# = 220 Global Geschwindigkeit = 3 ; Drehfunktion ##################################### Dim player1(359) TFormFilter 0 player1_bild = LoadImage("C:/3D/player.bmp") MaskImage player1_bild,255,102,204 For Winkel = 0 To 359 player1(Winkel) = CopyImage(player1_bild) RotateImage player1(Winkel), Winkel - 90 MidHandle player1(Winkel) Next ; Bilder ########################################### bg = LoadImage("C:/3D/holzplatte.jpg") ;################################################### ; Spielschleife #################################### ;################################################### While Not KeyHit(1) TileBlock bg ; Steuerung ######################################## If KeyDown(links) Then Winkel= Winkel - 2 ; Links - Winkel wird verkleinert If KeyDown(rechts) Then Winkel= Winkel + 2 ; Rechts - Winkel wird erhöht If Winkel > 359 Then Winkel = 0 If Winkel < 0 Then Winkel = 359 If KeyDown(oben) Then x1 = x1 - Cos(Winkel) * Geschwindigkeit y1 = y1 - Sin(Winkel) * Geschwindigkeit EndIf If KeyDown(unten) Then x1 = x1 + Cos(Winkel) * Geschwindigkeit y1 = y1 + Sin(Winkel) * Geschwindigkeit EndIf ; ################################################## DrawImage player1(Winkel),x1,y1 Flip Wend EndGraphics So irgenwie muss ich jetzt eine Schussfunktion einbauen - damit habe ich aber arge Probleme - ich habe einiges mit der Suche gefunden aber entweder war es nicht das richtige - oder wusste es nicht zu integrieren. Welche Methode wüdet ihr vorschlagen damit eine Kugel bei SPACE Drücken in Guckrichting fliegt? Grüße, Björn |
||
www.brickmovies.de |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf jeden Fall Types!
Bei Leertasten-Keyhit erstellst du einen neuen und gehst während der Schleife jeden Type durch um die Koordinaten zu verändern! Spike |
||
![]() |
Björn |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mmmhh - mit ner Struktur?
Aber wie dann : if leertaste => Neue Instanz von Schuss?! Björn |
||
www.brickmovies.de |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.blitzbasic.com/code...p?code=600
vielleicht hilft das. Bei Keyhit(Leertaste) wird ein neuer Eintrag des Types schuss gemacht... andernfalls könntest du auch ein array mit hundert schüssen machen, das macht Rene Meyer in seinem Buch, ich würde dir allerdings davon abraten Spike |
||
![]() |
Björn |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ok habe einen Type etc. erstelle und man kann auch schon schießen - nur habe ich noch Probleme mit der Kollisonsabfrage. Wie mach ich das bei Types? Björn |
||
www.brickmovies.de |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst die Kollisionsabfrage ja in die For-Each Schleife reinbringen... | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group