begrenzung
Übersicht

![]() |
TheRealSephirothBetreff: begrenzung |
![]() Antworten mit Zitat ![]() |
---|---|---|
kann mir jemand sagen wie ich es anstelle das die spielfiguren NICHT aus dem stadium laufen können ?
Grafiken: http://rapidshare.de/files/7706754/gfx.zip.html Code: [AUSKLAPPEN] Graphics 640,480,16,2 ver$ = 0.4 AppTitle "Fußball Fun " + ver SetBuffer BackBuffer() ;Variablen ;---------------------------------------------- ball = LoadImage("gfx\ball.png") tor = LoadImage("gfx\tor.png") ankick = LoadImage("gfx\mitte.png") stadium = LoadImage("gfx\stadium.png") team1 = 0 team2 = 0 ballX = 311.5 ballY = 231.5 Global x1# = 290,y1# = 216 Global geschwindigkeit1#=4 Global x2# = 350,y2# = 266 Global geschwindigkeit2#=-4 ;Steuerungsvorbereitung(Arrays) ;----------------------------------------------------- Dim Kicker1(359) TFormFilter 0 For winkel1 = 0 To 359 Kicker1(winkel1) = LoadImage("gfx\kicker1.png") MidHandle kicker1(winkel1) RotateImage kicker1(winkel1),-winkel1 MaskImage Kicker1(winkel1),0,0,0 Next Dim Kicker2(359) TFormFilter 0 For winkel2 = 0 To 359 Kicker2(winkel2) = LoadImage("gfx\kicker2.png") MidHandle kicker2(winkel2) RotateImage kicker2(winkel2),-winkel2 MaskImage Kicker2(winkel2),0,0,0 Next ;Spielfeld ;--------------------------------------------------------------- While Not KeyHit(1) ClsColor 20,150,20 Cls DrawImage ball,ballX,ballY DrawImage tor,607,180 DrawImage tor,4,180 DrawImage ankick, 302.5,223 DrawImage stadium,0,0 ;Steuerung & Spieleranzeige ;--------------------------------------------------------------- If KeyDown(30) Then winkel1= winkel1 +4 If KeyDown(32) Then winkel1= winkel1 -4 If winkel1 > 359 Then winkel1 = 0 If winkel1 < 0 Then winkel1 = 359 If KeyDown(17) Then x1 = x1 + Cos(winkel1)*geschwindigkeit1 y1 = y1 - Sin(winkel1)*geschwindigkeit1 EndIf If KeyDown(31) Then x1 = x1 - Cos(winkel1)*geschwindigkeit1 y1 = y1 + Sin(winkel1)*geschwindigkeit1 EndIf DrawImage kicker1(winkel1),x1,y1 If KeyDown(203) Then winkel2= winkel2 +4 If KeyDown(205) Then winkel2= winkel2 -4 If winkel2 > 359 Then winkel2 = 0 If winkel2 < 0 Then winkel2 = 359 If KeyDown(200) Then x2 = x2 + Cos(winkel2)*geschwindigkeit2 y2 = y2 - Sin(winkel2)*geschwindigkeit2 EndIf If KeyDown(208) Then x2 = x2 - Cos(winkel2)*geschwindigkeit2 y2 = y2 + Sin(winkel2)*geschwindigkeit2 EndIf DrawImage kicker2(winkel2),x2,y2 ;Kollision ;---------------------------------------------------------------- If ImagesCollide (ball,ballX, ballY,0, kicker1(winkel1),x1,y1,0) Then ballX = ballX+30 ballY = ballY EndIf If ImagesCollide (ball,ballX, ballY,0, kicker2(winkel2),x2,y2,0) Then ballX = ballX-30 ballY = ballY EndIf If ImagesCollide (ball,ballX, ballY,0, tor, 607,180,0) Then ballX = 311.5 ballY = 231.5 team1 = team1 + 1 x1 = 280 y1 = 216 x2 = 340 y2 = 250 EndIf If ImagesCollide (ball,ballX, ballY,0, tor, 4,180,0) Then ballX = 311.5 ballY = 231.5 team2 = team2 + 1 x1 = 280 y1 = 216 x2 = 340 y2 = 250 EndIf If ImagesCollide (kicker1(winkel1),x1,y1,0, stadium,0,0,0) Then x1 = 290 y1 = 216 EndIf If ImagesCollide (kicker2(winkel2),x2,y2,0, stadium,0,0,0) Then x2 = 350 y2 = 266 EndIf ;Reset & Anzeige ;------------------------------------------------------------------ Color 120, 20, 20 Text 155, 25,"Drücke SPACE um die Partie zurückzusetzen" Text 290, 45,Str$(team1)+" : "+Str$(team2) If KeyHit(57) Then team1 = 0 team2 = 0 x1 = 290 y1 = 216 x2 = 350 y2 = 266 winkel1 = 0 winkel2 = 0 ballX = 311.5 ballY = 231.5 EndIf Flip Wend |
||
Medabots1992 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst eine Collision machen. Wie ich sehe hast du es gemacht. Aber positioniere doch ihn nicht immer zum start sondern mach ihn an der stelle lassen und lass den spieler weiterspielen. Dann würde es auch klar sein. Immer wenn spieler raus läuft stellst du ihn auf die Stelle zurück
Mach eine Kollision vom Rand und Tor und schon hast du es |
||
![]() |
Klip |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einfach überprüfen, ob er außerhalb des Stadions ist und nur dann die Bewegung zulassen.
BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
TheRealSephiroth |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke Klip
dein code dient mir als basis(musste ihn veränder, da er nicht korrekt funktionierte) der funktioniert: BlitzBasic: [AUSKLAPPEN] If KeyDown(200) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group