ImagesCollide
Übersicht

Johann der 2.Betreff: ImagesCollide |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe ein problem mit images colide ja ich will eine animation mit einem Bild collidieren lassen heir der ganze code(ohne images colide wie müsste es richtig aussehen das die imagescolliede erst dann anschlägt wenn beide sich berühren?)
Code: [AUSKLAPPEN] Graphics 640, 480
SetBuffer BackBuffer () S1=LoadImage ("s1.bmp") S2=LoadImage ("s2.bmp") Variable=LoadAnimImage ("schuss1.bmp",640,8,0,60) Leben2=10 schuss1=1 Timer=0 Munitionnormal=5 Nachladen=5 Print "Start = Enter" Print "Beenden = Q" WaitKey If KeyHit (16) Then End If KeyHit (28) Then While Not KeyHit (16) Cls Print "Munition" Print Munitionnormal Print "Leben Spieler 2" Print Leben2 DrawImage s1,x1,y1 DrawImage s2,x2,y2 If KeyDown(208) And y1=<405 And gehen=1 Then y1=y1+4 EndIf If KeyDown(200) And y1=>0 And gehen=1 Then y1=y1-4 EndIf If KeyDown(80) And y2=<405 And gehen=1 Then y2=y2+4 EndIf If KeyDown(72) And y2=>0 And gehen=1 Then y2=y2-4 EndIf If KeyHit(157) And Timer=0 And Munitionnormal>0 Then Abspielen=1: If Abspielen=1 Then DrawImage Variable,x1,y1+30 ,Frame Frame=Frame+1:Timer=Timer+1: gehen=0 If Frame>59 Then Abspielen=0: Frame=0:Munitionnormal=Munitionnormal-1:gehen=1 If Timer=10 Then Timer=0 EndIf If KeyHit (54) And Munitionnormal=0 Then Munitionnormal=Munitionnormal+Nachladen Flip Wend Schonmal danke für antworten mfg Johann |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Hilfe steht es eigendlich gut beschrieben. Ich wüsst jetzt nicht, wie ich es besser ausdrücken könnte. Probiere doch erst mal, und wenn du dann nicht weiter kommst, wird dir auch sicherlich geholfen.
ImagesCollide ![]() |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Johann der 2. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was ist an dieser kollision falsch?
Code: [AUSKLAPPEN] If ImagesCollide (Variable,x1,y1,59,S2,x2,y2,0) Then treffer=1 EndIf If treffer=1 Then leben2=leben2-1:treffer=0 EndIf Wenn ich jetzt noch nicht einmal variable abspiel also meine animation dnan verliert der gegner schon leben obwohl er erst bei kollision leben verlieren soll die animation ist ein kleienr punkt der von der einen seite des bildschirms zu anderen fleigt wenn er s2 berührt soll s2 leben verlieren. Hier wieder der ganze Code: Code: [AUSKLAPPEN] Graphics 640, 480
SetBuffer BackBuffer () S1=LoadImage ("s1.bmp") S2=LoadImage ("s2.bmp") Variable=LoadAnimImage ("schuss1.bmp",640,8,0,60) Leben2=10 schuss1=1 Munitionnormal=5 Nachladen=5 Print "Start = Enter" Print "Beenden = Q" WaitKey If KeyHit (16) Then End If KeyHit (28) Then While Not KeyHit (16) Cls Print "Munition" Print Munitionnormal Print "Leben Spieler 2" Print Leben2 DrawImage s1,x1,y1 DrawImage s2,x2,y2 If KeyDown(208) And y1=<405 And gehen=1 Then y1=y1+4 EndIf If KeyDown(200) And y1=>0 And gehen=1 Then y1=y1-4 EndIf If KeyDown(80) And y2=<405 And gehen=1 Then y2=y2+4 EndIf If KeyDown(72) And y2=>0 And gehen=1 Then y2=y2-4 EndIf If KeyHit(157) And Munitionnormal>0 Then Abspielen=1: If Abspielen=1 Then DrawImage Variable,x1,y1+30 ,Frame Frame=Frame+1: gehen=0 If Frame>59 Then Abspielen=0: Frame=0:Munitionnormal=Munitionnormal-1:gehen=1 EndIf If KeyHit (54) And Munitionnormal=0 Then Munitionnormal=Munitionnormal+5 EndIf If ImagesCollide (Variable,x1,y1,59,S2,x2,y2,0) Then treffer=1 EndIf If treffer=1 Then leben2=leben2-1:treffer=0 EndIf Flip Wend Und noch eine frage bei mir flimmert das immer so wie kann ich das ändern? Schonmal dnake für die antworten. Mfg Johann |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum nennst du eine Variable tatsächlich "Variable" ? Da kann ja kein Mensch durchsehen was wo passiert.
Warum prüfst du mit Frame 59 auf Kollision, und nicht dem aktuellen? Code: [AUSKLAPPEN] If ImagesCollide (Variable,x1,y1,59,S2,x2,y2,0) Then
treffer=1 EndIf If treffer=1 Then leben2=leben2-1:treffer=0 EndIf Die Abfrage macht die Variable "treffer" nutzlos, weil sie in jedem Schleifendurchlauf Wahr ist, wenn eine Kollision stattfindet. Setzte treffer erst zurück, wenn keine Kollision mehr stattfindet. ![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Johann der 2. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok ich werde dann text benutzen aber wie würde dann eine richtige kollision bei meinem code heißen ich habe schon rumprobiert nur das hat niht ganz so funktioniert und das mit variable das ist sozusagen ein kleines test spiel das sich nicht groß weiter ausbreiten wird halt nur zu testen deshalb ist das ganze nicht wirklich aufgeräumt und übersichtlich mit functionen usw. was ich mir erst aneignen muss. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group