ImageColldie funzt nicht. *gelöst*
Übersicht

new yorkBetreff: ImageColldie funzt nicht. *gelöst* |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey!
Ich bin gerade an einem Spiel, bei dem Tomaten runterfallen und vom Korb "aufgefangen" werden sollen. Ich hatte vor, das die Tomaten gelöscht werden, wenn sie die Korb berühren und wollte dafür ImageCollide verwenden. Das Spiel lässt sich zwar abspielen, aber es passiert nichts. Kann mir jemand helfen?? Vielen dank. Code: [AUSKLAPPEN] m=MilliSecs() score=0 ;name AppTitle "Veggi Life" Graphics 800,600 i=MilliSecs() zeit=i-m ;bilder hochladen hintergrund=LoadImage ("winter.bmp") korb=LoadImage("korb.bmp") tomate=LoadImage("tomaten.bmp") musik = LoadSound("forest.wav") ;bilder erstellen MaskImage korb,0,0,0 MaskImage tomate, 255,255,255 ScaleImage tomate, 0.1,0.1; ;type erstellen Type fruit Field x Field y Field punkte Field speed End Type SetBuffer BackBuffer() Repeat ;Zählt ab wann die Tomaten fallen counter=counter+1 If counter>60 Then tom.fruit=New fruit tom\x=Rnd(1,800) tom\y=0 tom\speed=Rnd(0.5,2) tom\punkte=10 counter=0 EndIf ;steuerung If KeyDown (205); a=a+10; EndIf If KeyDown(203); a=a-10; EndIf; Cls LoopSound musik PlaySound(musik) ;hintergrund anzeigen DrawBlock hintergrund,0,0 DrawImage korb,a,510 If a>670 a=670 EndIf If a<0 a=10 EndIf ;Problem, IMAGECOLLIDE funzt nicht, weiß nicht warum??! If ImagesCollide (korb,a,510,0,tomate,x,y,0) score=score+10 EndIf For tom.fruit=Each fruit DrawImage tomate, tom\x,tom\y tom\y = tom\y + tom\speed ;If ImagesCollide(kanone,a,510,0,tomate,x,y,0) ;Delete tom EndIf If tom\y>520 Then Delete tom Next ;anzeige Text 230, 20,"Punkte: " ;Print score Flip Forever |
||
- Zuletzt bearbeitet von new york am Mi, Jan 06, 2010 16:29, insgesamt einmal bearbeitet
![]() |
robotx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If ImagesCollide (korb,a,510,0,tomate,x,y,0)
score=score+10 EndIf muss auch in die Schleife und die x,y variablen sind falsch: x -> tom\x usw. Code: [AUSKLAPPEN] For tom.fruit=Each fruit DrawImage tomate, tom\x,tom\y tom\y = tom\y + tom\speed ;If ImagesCollide(kanone,a,510,0,tomate,x,y,0) ;Delete tom EndIf If tom\y>520 Then Delete tom Next |
||
www.botbomb.robotzgames.de
www.robotzgames.de |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es ist allgemein bekannt das ImageCollide verbuggt ist.
Bitte benutze stattdesses ImagesOverlap. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
muss denn das IMAGECOLLIDE für die Tomaten nicht in die FOR/EACH/NEXT rein?
BlitzBasic: [AUSKLAPPEN] For tom.fruit=Each fruit |
||
new york |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen dank ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group