kollision bei schuss
Übersicht

![]() |
mas93Betreff: kollision bei schuss |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480,16,3 Type Schuss Field x,y End Type kugel=LoadImage("kugel.bmp") MaskImage kugel,0,0,255 player=LoadImage("player.bmp") MaskImage player,0,0,255 a=LoadImage("a.bmp") SetBuffer BackBuffer() Repeat Cls DrawImage a,20,20 DrawImage player, x,y If KeyDown(28) Then s.schuss = New schuss s\x = x +20 s\y = y EndIf For s.schuss= Each schuss DrawImage kugel,s\x,s\y s\y=s\y - 3 If s\y < 1 Then Delete s Next If KeyDown(200) Then y=y-1 ;Oben If KeyDown(208) Then y=y+1 ;Unten If KeyDown(203) Then x=x-1 ;Links If KeyDown(205) Then x=x+1 ;Rechts Flip Until KeyHit(1) Wie ´teste ich jetzt eine kollision zwischen dem schuss und dem bild a? |
||
![]() |
Smokie |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei der schleife:
Code: [AUSKLAPPEN] for s.schuss = each schuss if imagescollide(kugel,s\x,s\y,0,a,20,20,0) then ; Add funky code here endif ... next Sollte sich eigendlich von selbst erklären. Der Wert nach der y Koordinate ist der Frame des Bildes, wenn es keine Animtation ist kann man 0 angeben. Grüße Smokie |
||
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer. Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke funktioniert!!
aber warum wird hir der scuss nicht vor dem Player angezeigt??? Code: [AUSKLAPPEN] Graphics 640,480,16,2 Type Schuss Field x,y End Type schuss=LoadImage("schuss.bmp") player=LoadImage("player1.png") MaskImage player,0,0,255 a=LoadImage("a.bmp") SetBuffer BackBuffer() Repeat Cls If KeyDown(200) Then y=y-1 ;Oben If KeyDown(208) Then y=y+1 ;Unten If KeyDown(203) Then x=x-1 ;Links If KeyDown(205) Then x=x+1 ;Rechts DrawImage player, x,y DrawImage a,20,20 If KeyHit(57) Then s.schuss = New schuss s\x = x s\y = y EndIf For s.schuss= Each schuss If ImagesCollide(schuss,s\x,s\y,0,a,20,20,0) Then End DrawImage schuss,s\y,s\x s\y=s\y -3 If s\y < 1 Then Delete s Next Flip Until KeyHit(1) |
||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich weis ja jetzt net wie groß dein Spieler ist, aber bei sagen wir 50px (Y) , mach mal so.
Code: [AUSKLAPPEN] If KeyHit(57) Then s.schuss = New schuss s\x = x s\y = y-50 dann solte es vor den Spieler sein. Am besten machst du noch Code: [AUSKLAPPEN] Midhandle player
aber dann ist bei einen 50px großen player Code: [AUSKLAPPEN] s\y = y-25
EDIT: Smokie hatte recht nach oben ^^ also -50 |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
- Zuletzt bearbeitet von Schranz0r am Mi, Sep 13, 2006 15:52, insgesamt 4-mal bearbeitet
![]() |
Smokie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wegen der Reihenfolge. Stell dir vor du mals ein Bild:
Erst ein Quadrat dann in das Quadrat noch 5 kreise. Die Kreise überdecken das Quadrat. So ist es auch bei BB, du musst immer das, was ganz "oben" sein soll als letztes zeichnen. Wenn das nicht das Problem ist nimm Schranzors Lösung, nur statt + 50 - 50 da die Kugel ja nach oben fliegt. Grüße Smokie |
||
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer. Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group