little exemple for the zombi :
the function :
-----
function clo3(spr1)
bouge(spr1,0,-30): we move up the sprite detector
PhysicsRayCastCategory(2,GetSpriteXByOffset(spr1),GetSpriteYByOffset(spr1),GetSpriteXByOffset(spr1)+25,GetSpriteYByOffset(spr1)+60) : check for the physics sprite (floor)
endfunction
-------
function bouge( spr, h#, v#)
if GetSpriteExists(spr)
SetSpritePositionByOffset(spr,GetSpriteXByOffset(spr)+h#,GetSpriteYByOffset(spr)+v#)
endif
endfunction
--------
The loop
repeat
col3(zom)
bouge(zom,0,5)
until testz<>0
SetSpritePositionByOffset(zom,GetSpriteXByOffset(zom),GetRayCastY())
I redid my routine with raycast, that's a lot of what I did before, (there is a video on this page)
I do what i do !!!