Having Problems with the ImageCollision Command

Archives Forums/BlitzPlus Programming/Having Problems with the ImageCollision Command

En929(Posted 2009) [#1]
I'm trying to make a game like pac-man. I'm trying to make it so that when my character collides with an apple on screen, the apple disappears (as does when pac-man eats one). But, everytime my character collides with the apple, I get a message that says "Object does not exist." Thus, what do I need to do to make this error go away? My code looks like this:

Graphics 640, 480, 16, 2
SetBuffer BackBuffer()

Eatum = LoadImage ("Eatum.png")

apple = LoadImage("Apple.png")

Type Eatum

Field x
Field y

End Type

Type apple

Field x
Field y

End Type

For z = 1 To 5
a.apple = New apple

a\x = -100 + 50 * z
a\y = 150


While Not KeyDown (1)


DrawImage (Eatum, x,y)

DrawImage (apple, a\x,a\y)

If ImagesCollide (Eatum,x,y,0,apple, a\x,a\y,0) Then
Delete a


If KeyDown(203) Then x = x - 3
If KeyDown(205) Then x = x + 3
If KeyDown(200) Then y = y - 3
If KeyDown(208) Then y = y + 3



Sauer(Posted 2009) [#2]
You need to wrap your draw apple code and your image collide code in a
For a.apple=Each apple
;draw apples
;check for collisions

What this does is it tells the program to scroll through all the a's and do this for each one. If you don't do this, the program has no idea what a is, thus resulting in an object does not exist.

En929(Posted 2009) [#3]
Thanks Sauer. It worked.

Luke111(Posted 2009) [#4]
Cool. It does make sense.