2D Shooter

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

Thoth

BeitragMi, März 23, 2005 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
wie kann man das bild nach jeder hauptschleife verschieben.... wenn ich deine version nimm ist es wie ein strahl das bild..

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, März 23, 2005 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
hab mir mal die grauen Zellen angestrengt und was brauchbares daraus gemacht!
BlitzBasic: [AUSKLAPPEN]
;hauptschleife

Repeat
Cls
DrawImage spielerjet, X, Y
;
;
If KeyDown (203) Then X = X - 10
If KeyDown (205) Then X = X + 10
;
;
If KeyDown (30) Then ; taste A
Schiessen = 1 ; ein Schuss aktivieren
schussX = X
schussY = Y
End If
;
;
If Schiessen = 1 Then ; ein Schuss ist aktiv
DrawImage schussbild, schussX , schussY
schussY = schussY - 3 ; Position verändern für den nächsten Durchlauf
If schussY < 0 Then Schiessen = 0 ; wenn schuss weg dann deaktivieren
End If
;
;
If KeyDown (1) Then ende = 1
Flip
Until ende = 1

Habs jetzt extra kleingehalten, aber so in etwa ist das Prinzip
[BB2D | BB3D | BB+]
 

Thoth

BeitragMi, März 23, 2005 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab das jetzt gemacht.. funktioniert auch gut.. aber wie schaff ich es dass das schussbild ganz langsam nach oben wandert, so wie auch in den meisten shootern, d. h. nicht als "strahl"...

sry, wenn ich euch nerv Embarassed

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, März 23, 2005 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn deine Hauptschleife so ist wie die, die ich gepostet habe dann kann das nur an deiner Grafik liegen !

poste nochmal dein jetztigen code
[BB2D | BB3D | BB+]
 

Thoth

BeitragMi, März 23, 2005 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
hier

BlitzBasic: [AUSKLAPPEN]

AppTitle \"2D SpaceRoom v0.01 Alpha\"
Graphics 800,600,16,2
SetBuffer BackBuffer()

Global spielerjet, X, Y, schussbild, schussY, schussX, sterne

X = 200
Y = 500

schussbild = LoadImage (\"gfx/schuss.png\") ;bilder laden
spielerjet = LoadImage (\"gfx/spieler_jet.bmp\")
sterne = LoadImage (\"gfx/sterne.png\")

ResizeImage spielerjet,100,75
MaskImage schussbild,255,255,255

Repeat ;Hauptschleife
;
Cls
DrawImage spielerjet, X, Y
DrawImage sterne, Rand(800), Rand(600)

If KeyDown(30) Then
geschossen = 1
schussY = Y
schussX = X
EndIf

If geschossen = 1 Then
For I = 1 To 100
DrawImage schussbild, schussX + 0.25, schussY - 25.5
schussY = schussY - 2
Next
If schussY < 0 Then geschossen = 0
EndIf

If KeyDown(203) Then
X = X - 10
ElseIf KeyDown(205) Then
X = X + 10
EndIf

If KeyDown(1) Then ende = 1
Flip
;
Until ende = 1

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, März 24, 2005 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
BlitzBasic: 

AppTitle \"2D SpaceRoom v0.01 Alpha\"
Graphics 800,600,16,2
SetBuffer BackBuffer()

Global spielerjet, X, Y, schussbild, schussY, schussX, sterne

X = 200
Y = 500

schussbild = LoadImage (\"gfx/schuss.png\") ;bilder laden
spielerjet = LoadImage (\"gfx/spieler_jet.bmp\")
sterne = LoadImage (\"gfx/sterne.png\")

ResizeImage spielerjet,100,75
MaskImage schussbild,255,255,255

Repeat ;Hauptschleife
;
Cls
; Hintergrund zuerst malen
DrawImage sterne, Rand(800), Rand(600)
DrawImage spielerjet, X, Y


If KeyDown(30) Then
geschossen = 1
schussY = Y
schussX = X
EndIf

If geschossen = 1 Then
;For I = 1 To 100
DrawImage schussbild, schussX , schussY
schussY = schussY - 2
;Next
If schussY < 0 Then geschossen = 0
EndIf

If KeyDown(203) Then X = X - 10

If KeyDown(205) Then X = X + 10

If KeyDown(1) Then ende = 1
Flip
;
Until ende = 1


wie schon gesagt deine Schleife
[BB2D | BB3D | BB+]
 

Thoth

BeitragDo, März 24, 2005 13:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab die schleife jetzt malö auf
BlitzBasic: [AUSKLAPPEN]

For I = 1 To 5 gesetzt


jetzt gehts eigentlich^^, dennoch: sobald ich ein zweites mal schieße verschwindet der erste schuss wieder und "wird" zum zweiten...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, März 24, 2005 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
mit der Schleife zeichnest du gleich 5 Schüsse untereinander die dann alle gleichzeitig angezeigt werden!

so wie es ist gibt es auch nur ein Schuss, da brauchst du dann ein Dim feld oder besser Types!

der Schuss geht sofort weg, weil du die Vars ja neu beim Schiff zeichnest!
da mach doch eine zweite
BlitzBasic: [AUSKLAPPEN]
 If  geschossen = 0 Then 
If KeyDown(30) Then
geschossen = 1
schussY = Y
schussX = X
EndIf
End If

damit du nur schiesen kannst wenn der vorherige weg ist!
[BB2D | BB3D | BB+]

Kryan

BeitragFr, März 25, 2005 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
dafür musst du ein Dim-Feld benutzen:
BlitzBasic: [AUSKLAPPEN]
Dim Schuss(100,10)
...
If geschossen=1 Then
schusscounter=schusscounter+1
Schuss(schusscounter,0)=1
Schuss(schusscounter,1)=X
Schuss(schusscounter,2)=Y
If schusscounter=100 Then schusscounter=0
End If
For i=1 To 100
If Schuss(i,0) Then
DrawImage schussbild,Schuss(i,1),Schuss(i,2)
Schuss(i,2)=Schuss(i,2)-2
If Schuss(i,2)<0 Then Schuss(i,0)=0
End If
Next
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Spikespine

BeitragFr, März 25, 2005 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum verwendet ihr keine Types für Schüsse. Die sind doch gerade dafür bestens geeignet...
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group