Kollisionen Probleme
Übersicht

GeroBetreff: Kollisionen Probleme |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey Leute ich habe ein Problem.......
Ich verstehe nicht warum beim Kontakt zwischen laserschuss und smiley nichts passiert ich habe doch eigentlich alles richtig gemacht.... Danke schonmal im Vorraus.... PS:Bin blutiger Anfäanger also bitte möglichst einfach halten..... Der Code: Graphics (1300,800) Global hintergrund=LoadImage("Lava Hintergrund gerade.bmp") Global gameover=LoadImage("Gameover.bmp") Global smiley=LoadImage("Smiley.bmp") MaskImage smiley,255,255,255 ScaleImage smiley,0.36,0.36 Global Kanone1=LoadImage ("Kanone.bmp") MaskImage Kanone1,255,255,255 Global laserschuss_vertikal = LoadImage("laserschuss_vertikal.bmp") Global laserschuss_horizontal = LoadImage("laserschuss_horizontal.bmp") Global techno=LoadSound ("techno.mp3") Global fail=LoadSound ("fail.mp3") Global Schriftart=LoadFont ("Arial",115,100) anfangszeit = MilliSecs() Global x=600 ;Mein Spawnpoint Global y=350 Global shot_counter=0 Type shot ;erstellt den Type "shot" Field shot_x ;x Koordinate Field shot_y ;y Koordinate End Type SeedRnd MilliSecs() Global xk1=Rand(100,1050) ;Spawnpoint Kanone 1 Global zxk1=Rand(100,1050) Global yk1=550 SetBuffer BackBuffer() While Not KeyHit(1) Cls DrawBlock hintergrund ,0,0 endzeit=MilliSecs() If KeyDown (205) x=x+7 If KeyDown (203) x=x-7 If KeyDown (208) y=y+7 ;Bewegung If KeyDown (200) y=y-7 If x=>1142 Then x=x-7 If y=>642 Then y=y-7 ;Begrenzungen If x=<100 Then x=x+7 If y=<100 Then y=y+7 DrawImage (smiley,x,y,0) ;Smiley If xk1 < zxk1-3 Then xk1=xk1+3 DrawImage kanone1,xk1,yk1 ElseIf xk1 > zxk1+3 Then |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist wohl nicht der vollständige Code.
Es wäre außerdem besser, wenn du ihn in CodeTags setzt. [*code][*/code] |
||
Twitter
Download Jewel Snake! Windows|Android |
GeroBetreff: Nachtrag |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ohhh das tut mir Leid
Sorry Hier der vollständige Code: Graphics (1300,800) Global hintergrund=LoadImage("Lava Hintergrund gerade.bmp") Global gameover=LoadImage("Gameover.bmp") Global smiley=LoadImage("Smiley.bmp") MaskImage smiley,255,255,255 ScaleImage smiley,0.36,0.36 Global Kanone1=LoadImage ("Kanone.bmp") MaskImage Kanone1,255,255,255 Global laserschuss_vertikal = LoadImage("laserschuss_vertikal.bmp") Global laserschuss_horizontal = LoadImage("laserschuss_horizontal.bmp") Global techno=LoadSound ("techno.mp3") Global fail=LoadSound ("fail.mp3") Global Schriftart=LoadFont ("Arial",115,100) anfangszeit = MilliSecs() Global x=600 ;Mein Spawnpoint Global y=350 Global shot_counter=0 Type shot ;erstellt den Type "shot" Field shot_x ;x Koordinate Field shot_y ;y Koordinate End Type SeedRnd MilliSecs() Global xk1=Rand(100,1050) ;Spawnpoint Kanone 1 Global zxk1=Rand(100,1050) Global yk1=550 SetBuffer BackBuffer() While Not KeyHit(1) Cls DrawBlock hintergrund ,0,0 endzeit=MilliSecs() If KeyDown (205) x=x+7 If KeyDown (203) x=x-7 If KeyDown (208) y=y+7 ;Bewegung If KeyDown (200) y=y-7 If x=>1142 Then x=x-7 If y=>642 Then y=y-7 ;Begrenzungen If x=<100 Then x=x+7 If y=<100 Then y=y+7 DrawImage (smiley,x,y,0) ;Smiley If xk1 < zxk1-3 Then xk1=xk1+3 DrawImage kanone1,xk1,yk1 ElseIf xk1 > zxk1+3 Then xk1=xk1-3 DrawImage kanone1,xk1,yk1 ElseIf xk1>zxk1-3 Then SeedRnd MilliSecs() zxk1=Rand (100, 1050) ElseIf xk1< zxk1+3 Then SeedRnd MilliSecs() zxk1=Rand (100, 1050) EndIf timer(anfangszeit,endzeit,zeit) Schuss(xk1,yk1,shot_x,shot_y) Flip Wend End Function timer(endzeit,anfangszeit,zeit) zeit=anfangszeit-endzeit zeit=zeit/1000 Locate (650,0) SetFont Schriftart Print zeit Return zeit End Function Function Schuss (xk1,yk1,shot_x,shot_y) If KeyDown(57) Then shot_counter = shot_counter +1 EndIf If shot_counter=5 Then info.shot = New shot info\shot_x = xk1 +40 info\shot_y = yk1 shot_counter=0 EndIf For info.shot = Each shot info\shot_y = info\shot_y -5 DrawImage laserschuss_vertikal,info\shot_x,info\shot_y Next If ImagesCollide (smiley,x,y,o,laserschuss_vertikal,shot_x,shot_y,0) Then Cls DrawBlock gameover,0,0 Delay(2000) End EndIf End Function |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
der Fehler liegt in Dieser Zeile Code: [AUSKLAPPEN] If ImagesCollide (smiley,x,y,o,laserschuss_vertikal,shot_x,shot_y,0) Then
die sollte so sein und innerhalb deiner Schleife Code: [AUSKLAPPEN] For info.shot = Each shot
If ImagesCollide (smiley,x,y,0,laserschuss_vertikal,info\shot_x,info\shot_y,0) Then Cls DrawBlock gameover,0,0 Delay (2000) End EndIf Next |
||
[BB2D | BB3D | BB+]
|
GeroBetreff: Vielen Dank |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank ich habs verstanden und es klappt super.....
Hättest du auch eine Idee wie die Kanone alle 5 Sekunden( oder eine zufällige Zahl) automatisch schießt. Also nicht wenn ich Leertaste drücke sonder halt wenn eine bestimmte Zeitdauer vorbei ist.... Wäre um Hilfe dankbar Gero |
||
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich rate dir, dich zuerst mit etwas Lektüre zu befassen, bevor du dich an ein Spiel wagst.
Wird weniger frustrierend für dich ![]() Check mal https://www.blitzforum.de/scene/links/ ! Dazu bitte benütze Codetags Code: [AUSKLAPPEN] [code]DEIN CODE über mehrere zeilen usw[/code]
So ist alles viel lesbarer und kompakter. mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group