nur erste collision funktioniert

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: nur erste collision funktioniert

BeitragMi, Aug 09, 2006 23:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
CrystalSkyCity()
End

Function CrystalSkyCity()


Graphics 640,480,16,2
SetBuffer BackBuffer()
;nochmal laden




x=200
y=200

csc=LoadImage("csc.png")
marsboden=LoadImage("marsboden.png")
schule=LoadImage("7/Schule.PNG")
players=LoadImage("7/player1.png")
schuletür=LoadImage("7/schuletür.png")
wasser=LoadImage("wasser.png")
eigeneshaus=LoadImage("7/Haus.png")
haustür=LoadImage("7/haustür.png")
MaskImage players,0,0,255
MaskImage schule,0,0,255
MaskImage eigeneshaus,0,0,255


Repeat

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


;karte zeichnen


DrawImage csc,0,0

If ImagesCollide(players,x,y,0,haustür,376,66,0)And KeyHit(57)Then End
If ImagesCollide (players,x,y,0,schuletür,139,50,0)And KeyHit(57)Then End

DrawImage schule,42,1
DrawImage schuletür,139,50
DrawImage eigeneshaus,300,1
DrawImage haustür,376,66
DrawImage players,x,y




Flip
Cls

Until KeyHit(1)
End Function






warum geht hier nur die erste collision???

Cardonic

BeitragDo, Aug 10, 2006 0:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach, es ist immer das Selbe. KeyHit() ermittelt, wie oft eine bestimmte Taste seit dem letzten Aufruf ( von KeyHit() ) gedrückt wurde. Das heisst, dass wenn der Befehl zweimal hintereinander aufgerufen wird, dann gibt der zweite Aufruf 0 zurück (sofern dazwischen nicht die betreffende Taste gedrückt wurde, was so gut wie unmöglich ist).

Daher empfiehlt sich etwas in der Richtung: Code: [AUSKLAPPEN]
KeyHitSpace = KeyHit(57)

If ImagesCollide(players,x,y,0,haustür,376,66,0)And KeyHitSpace Then End
If ImagesCollide (players,x,y,0,schuletür,139,50,0)And KeyHitSpace Then End


mfg Cardonic
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet.
 

Dreamora

BeitragDo, Aug 10, 2006 7:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das, oder anstatt von KeyHit einfach KeyDown verwenden
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

mas93

BeitragDo, Aug 10, 2006 10:48
Antworten mit Zitat
Benutzer-Profile anzeigen
danke

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group