2D Schussfunktion: Wie?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Björn

Betreff: 2D Schussfunktion: Wie?

BeitragDo, Feb 24, 2005 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also erstmal Code Very Happy :
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

BeitragDo, Feb 24, 2005 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Feb 24, 2005 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mmmhh - mit ner Struktur?
Aber wie dann : if leertaste => Neue Instanz von Schuss?!
Björn
www.brickmovies.de

Spikespine

BeitragFr, Feb 25, 2005 11:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Feb 25, 2005 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Feb 25, 2005 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst die Kollisionsabfrage ja in die For-Each Schleife reinbringen...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group