Blindgänger

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

woody

Betreff: Blindgänger

BeitragSa, Mai 08, 2004 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso kommt die Meldung "Frame out of Range" wenn beide Figuren zusammenkrachen???

Graphics 800,600,16,1
SetBuffer BackBuffer()
alien=LoadImage("alien.bmp")
schiff=LoadImage("spaceship2.bmp")
ton=LoadSound("soundfx25.wav")
sterne=LoadImage("stars.bmp")
explosion=LoadAnimImage("kaboom.bmp",60,46,0,6)
X=1
Y=1
A=799
B=599
Repeat
Cls
I=I+1
If I=200 Then I=0
TileBlock sterne,0,I
Z=Z+1
If Z=6 Then Z=6
;alien
If KeyDown(200) Then Y=Y-5
If KeyDown(208) Then Y=Y+5
If KeyDown(205) Then X=X+5
If KeyDown(203) Then X=X-5
If X >=750 Then X=750
If X <=0 Then X=1
If Y >=566 Then Y=566
If Y <=0 Then Y=0
;raumschiff
If KeyDown(31) Then B=B+5
If KeyDown(17) Then B=B-5
If KeyDown(32) Then A=A+5
If KeyDown(30) Then A=A-5
If A >=760 Then A=760
If A <=0 Then A=1
If B >=572 Then B=572
If B <=0 Then B=0
DrawImage alien,X,Y
DrawImage schiff,A,B
If ImagesOverlap(alien,X,Y,schiff,A,B) Then PlaySound ton
If ImagesOverlap(alien,X,Y,schiff,A,B) Then DrawImage explosion,X,Y,Z
If Z=6 Then Detonate=1
Flip
Until KeyDown(1)
End
_______________________________________________________________________
Reife Leistung für Unreife

Hubsi

BeitragSa, Mai 08, 2004 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
DrawImage explosion,X,Y,Z

Z darf hier nicht 6 erreichen, da die Frames von 0-5 gehen.

Edit: If Z=6 Then Z=6 Diese Zeile ist relativ sinnlos. Ich übersetze wörtlich:Zitat:
Wenn Z gleich 6 dann Z gleich 6
Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

woody

BeitragSa, Mai 08, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann ich jetzt aber machen,dass Z nicht höher als 5 geht,mit einer For schleife,oder wie Question

For Z=1 To 5
Next

frigi

BeitragSa, Mai 08, 2004 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
if z>5 then z=5


dann gehts nimmer über 5
wenns wieder von forne anfangen soll, dann

Code: [AUSKLAPPEN]
if z>5 then z=0
 

woody

BeitragSo, Mai 09, 2004 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
funzt nicht Sad

Kabelbinder

Sieger des WM-Contest 2006

Betreff: so

BeitragSo, Mai 09, 2004 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann halt :

if z>=5 then z=5
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Kabelbinder

Sieger des WM-Contest 2006

BeitragSo, Mai 09, 2004 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm ich meine:

Code: [AUSKLAPPEN]
If z>=5 then z=0



Und dann fängts ja wieder von vorn an.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

woody

BeitragSo, Mai 09, 2004 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Die explosion soll sich aber nicht wiederholen Twisted Evil Twisted Evil

Kabelbinder

Sieger des WM-Contest 2006

BeitragSo, Mai 09, 2004 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, ich hatte da den Text noch nicht durchgelesen. Also, auch wenn die sich nicht wiederholen soll kann man das so machen. Als ich nehme bei solchen "sterbe-Squenzen" immer Unterprogramme, das steht dann alles drin, was der zu tun hat und der Code wird übersichtlicher.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

woody

BeitragDi, Mai 11, 2004 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß,dass das jetzt falsch ist,weil Z in jeder schleifenwiederholung um 1 erhöht wird und bei 5 aufhört.Deswegen wird auch nur der letzte frame abgespielt.Ich glaube man muss Z=Z+1.... irgendwie hinter die fette zeile
in die if bedingung einbauen aber ich weiß nicht wie.

Graphics 800,600,16,1
SetBuffer BackBuffer()
alien=LoadImage("alien.bmp")
schiff=LoadImage("spaceship2.bmp")
ton=LoadSound("soundfx25.wav")
sterne=LoadImage("stars.bmp")
explosion=LoadAnimImage("kaboom.bmp",60,46,0,6)
X=1
Y=1
A=799
B=599
Repeat
Cls
I=I+1
If I=200 Then I=0
TileBlock sterne,0,I
Z=Z+1
If Z>=5 Then Z=5
;alien
If KeyDown(200) Then Y=Y-5
If KeyDown(208) Then Y=Y+5
If KeyDown(205) Then X=X+5
If KeyDown(203) Then X=X-5
If X >750 Then X=750
If X <0 Then X=1
If Y >566 Then Y=566
If Y <0 Then Y=0
;raumschiff
If KeyDown(31) Then B=B+5
If KeyDown(17) Then B=B-5
If KeyDown(32) Then A=A+5
If KeyDown(30) Then A=A-5
If A >760 Then A=760
If A <0 Then A=1
If B >572 Then B=572
If B <0 Then B=0
DrawImage alien,X,Y
DrawImage schiff,A,B
If ImagesOverlap(alien,X,Y,schiff,A,B) Then PlaySound ton
If ImagesOverlap(alien,X,Y,schiff,A,B) Then DrawImage explosion,X,Y,Z
Flip
Until KeyDown(1)
End
_______________________________________________________________________
Reife Leistung für Unreife

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group