Code: Select all
for a = 0 to columns-1
for b = 0 to rows-1
if spritemode(map(a,b)) = 1 then
cmin = (a*16)-15: cmax = (a*16)+15
rmin = (b*16)-15: rmax = (b*16)+15
if r >= rmin and r <rmax>= cmin and c <= cmax then
if MULTIKEY(&h48) then r = r + 1
if MULTIKEY(&h4D) then c = c - 1
if MULTIKEY(&h50) then r = r - 1
if MULTIKEY(&h4B) then c = c + 1
end if
end if
next b
next a
spritemode is the status of each tile (whether or not you can go through them)
map(a,b) is the map, of course.
the cmin, cmax, rmin, and rmax es specify the boundaries the character has to cross before any collision action is taken.
If there is a collision, the game will move the character in the opposite direction 1 pixel, according to what button was pushed.
Any suggestions? Thanks and God Bless!