you have a DBPro?
this sample-code
rem SlidingCollision
sync on : sync rate 60
rem create floor
make object box 1,400,10,400 : position object 1,0,-5,0
rem create walls
make object box 2,400,100,10 : position object 2,0,50,-200
make object box 3,400,100,10 : position object 3,0,50, 200
make object box 4,10,100,400 : position object 4,-200,50,0
make object box 5,10,100,400 : position object 5, 200,50,0
rem Set floor and walls to box collision for rectangle roamer
make object collision box 1,-200,-5,-200,200,5,200,0
make object collision box 2,-200,-50,-5,200,50,5,0
make object collision box 3,-200,-50,-5,200,50,5,0
make object collision box 4,-5,-50,-200,5,50,200,0
make object collision box 5,-5,-50,-200,5,50,200,0
rem rectangle roamer for box collision
make object box 41,40,20,40 : position object 41,95,31,50
color object 41, 0xff0000
make object collision box 41,-20,-10,-20,20,10,20,0
position camera 0,500,-300
point camera 0,0,0
do
if upkey()=1 then move object 41,2
if downkey()=1 then move object 41,-2
if leftkey()=1 then yrotate object 41,wrapvalue(object angle y(41)-3)
if rightkey()=1 then yrotate object 41,wrapvalue(object angle y(41)+3)
hit=object collision(41,0)
if hit>0
ax#=object position x(41)-get object collision x()
ay#=object position y(41)-get object collision y()
az#=object position z(41)-get object collision z()
position object 41,ax#,ay#,az#
endif
sync
loop