Großes Problem mit Kollisionen
Übersicht

[SHM]StArMaStErBetreff: Großes Problem mit Kollisionen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi! Ich habe ein riesiges Problem mit den Kollisionen. Die Gegner verschwinden einfach nach einer weile obwohl sie nicht getroffen wurden.
Die Kollision funzt eigentlich aber wenn es zuviele gegner werden dann verschwinden einfach einige. Zudem hab ich noch ein problem mit der stetig steigenden Gegnerzahl. BITTE HELFT MIR!!(hier is der Quelltext ![]() Graphics 800,600,16,1 SetBuffer BackBuffer() kugel = LoadImage("shot.bmp") ship = LoadImage("ship.bmp") feind = LoadImage("enemy.bmp") back = LoadImage("stars.bmp") Global z = 0 Global score = 0 Global f#=1 Global schuss Type gegner Field xpos Field ypos End Type x=400 y=540 Erschaffen() SeedRnd MilliSecs() Repeat Cls k#=k#+1.5 h#=h#+1 TileImage back,0,h# TileImage back,100,k# If schuss=50 Then schuss=1 For i = 1 To 50 If rak(i,0)=1 DrawImage kugel,rak(i,1),rak(i,2) rak(i,2)=rak(i,2)-15 EndIf Next For fuck.gegner = Each gegner fuck\ypos=fuck\ypos+2 DrawImage feind,fuck\xpos,fuck\ypos If fuck\ypos>600 z=0 Delete fuck EndIf For i=1 To 50 If z=1 If ImagesCollide(feind,fuck\xpos,fuck\ypos,0,kugel,rak(i,1),rak(i,2),0) If MouseHit(1) z=0 rak(i,0)=0 EndIf EndIf Next If KeyHit(57) Then schuss=schuss+1 rak(schuss,0)=1 rak(schuss,1)=x+50 rak(schuss,2)=y-27 EndIf If z=0 Then erschaffen() f#=f#+0.2 EndIf If f#>2 Then f#=1 DrawImage ship,x,y If KeyDown(203) Then x=x-5 If KeyDown(205) Then x=x+5 If KeyDown(200) Then y=y-3 If KeyDown(208) Then y=y+3 If x<30 Then x=30 If x>770 Then x=770 If y>550 Then y=550 If y<50 Then y=50 FlushKeys Print score Delay 8 Flip Until KeyHit(1) Function Erschaffen() If z=0 For i=1 To f# fuck.gegner= New gegner fuck\xpos = Rand(50,750) fuck\ypos = -100 z=1 Next EndIf End Function |
||
BB-coden was das Zeug hällt!!!! |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist mir sofort aufgefallen ..
da fehlt was...Code: [AUSKLAPPEN] For i=1 To 50
If z=1 if rak(i,0)=1; <<<<<<<<<<da lag der fehler denk ich If ImagesCollide(feind,fuck\xpos,fuck\ypos,0,kugel,rak(i,1),rak(i,2),0) If MouseHit(1) z=0 rak(i,0)=0 EndIf EndIf end if;<<<<<<<<<< Next Du überprüfst jede Rakete egal ob es sie gibt oder nicht Achja benutze CodeTags |
||
[BB2D | BB3D | BB+]
|
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
So ,
ziemlicher Murks aber es geht irgendwie ![]() Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() Dim ximg(5) For i=1 To 5 ximg(i)=CreateImage(32,32) SetBuffer ImageBuffer(ximg(i)) Color Rnd(0,255),Rnd(0,255),Rnd(0,255) Rect 0,0,32,32 SetBuffer BackBuffer() Next kugel =ximg(1); LoadImage("shot.bmp") ship = ximg(2);LoadImage("ship.bmp") feind =ximg(3); LoadImage("enemy.bmp") back = ximg(4);LoadImage("stars.bmp") Global z = 0 Global score = 0 Global f#=1 Global schuss Type gegner Field xpos Field ypos End Type x=400 y=540 Dim rak(50,2) Erschaffen() SeedRnd MilliSecs() Repeat Cls k#=k#+1.5 h#=h#+1 TileImage back,0,h# TileImage back,100,k# If schuss=50 Then schuss=1 For i = 1 To 50 If rak(i,0)=1 Then DrawImage kugel,rak(i,1),rak(i,2) rak(i,2)=rak(i,2)-15 EndIf Next For fuck.gegner = Each gegner fuck\ypos=fuck\ypos+2 DrawImage feind,fuck\xpos,fuck\ypos If fuck\ypos>600 Then z=0 Delete fuck EndIf For i=1 To 50 ;If z=1 Then If ImagesCollide(feind,fuck\xpos,fuck\ypos,0,kugel,rak(i,1),rak(i,2),0) Then ;If MouseHit(1) Then z=0 rak(i,0)=0 Delete Fuck Exit ;EndIf ;EndIf EndIf Next Next If KeyHit(57) Then schuss=schuss+1 rak(schuss,0)=1 rak(schuss,1)=x+50 rak(schuss,2)=y-27 EndIf If z=0 Then erschaffen() f#=f#+0.2 EndIf If f#>2 Then f#=1 DrawImage ship,x,y If KeyDown(203) Then x=x-5 If KeyDown(205) Then x=x+5 If KeyDown(200) Then y=y-3 If KeyDown(208) Then y=y+3 If x<30 Then x=30 If x>770 Then x=770 If y>550 Then y=550 If y<50 Then y=50 ;FlushKeys <-- GRRR Color 255,255,0 Text 0,0, score Delay 20 Flip Until KeyHit(1) End Function Erschaffen() If z=0 Then For i=1 To f# ;<-- GRRR fuck.gegner= New gegner fuck\xpos = Rand(50,750) fuck\ypos = -100 z=1 Next EndIf End Function |
||
[SHM]StArMaStErBetreff: Danke!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke hab den fehler gefunden! cya | ||
BB-coden was das Zeug hällt!!!! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group