ohh!!! Kira thanks I'll edit that now, I was copying and pasting from my other code because this is a test code.
Ok, I didn't want to edit all of my code so I used my old one, there pretty much the same, but test it and you'll see that when you go to the top and try to go left or right it has the collision of a box and I know that thats because of the intersect objects (This is also my code).
sync on
sync rate 80
set global collision on
backdrop on
autocam off
make object box 1,5,20,5
position object 1,0,20,0
color object 1,RGB(255,255,60)
make object cube 2,20
position object 2,0,0,0
make object cube 3,20
position object 3,20,0,0
make object cube 4,20
position object 4,40,0,0
make object cube 5,20
position object 5,60,0,0
make object cube 6,20
position object 6,60,20,0
make object cube 7,20
position object 7,80,40,0
make object cube 8,20
position object 8,80,60,20
make object cube 9,20
position object 9,80,60,-20
make camera 1
Do
move object down 1,Falling#
inc Falling#,0.1
x=object position x(1)
y=object position y(1)
z=object position z(1)
for b=2 to 9
D#=INTERSECT OBJECT(b,x+10,y,z,x+10,y-10.0,z) `this tests the "Ground Mesh" for a collision (or ray intersection)
if D#<10.0 and D#>0.0
position object 1,x,y+(10.0-D#),z
Falling#=0
Endif
D#=INTERSECT OBJECT(b,x-10,y,z,x-10,y-10.0,z) `this tests the "Ground Mesh" for a collision (or ray intersection)
if D#<10.0 and D#>0.0
position object 1,x,y+(10.0-D#),z
Falling#=0
Endif
D#=INTERSECT OBJECT(b,x,y,z+10,x,y-10.0,z+10) `this tests the "Ground Mesh" for a collision (or ray intersection)
if D#<10.0 and D#>0.0
position object 1,x,y+(10.0-D#),z
Falling#=0
Endif
D#=INTERSECT OBJECT(b,x,y,z-10,x,y-10.0,z-10) `this tests the "Ground Mesh" for a collision (or ray intersection)
if D#<10.0 and D#>0.0
position object 1,x,y+(10.0-D#),z
Falling#=0
Endif
Next b
position camera 1,OBJECT POSITION X(1)-15,OBJECT POSITION Y(1),OBJECT POSITION Z(1)
yrotate camera 1,90
x=object position x(1)
y=object position y(1)
z=object position z(1)
if upkey()=1 then position object 1,x+1,y,z
if downkey()=1 then position object 1,x-1,y,z
if rightkey()=1 then position object 1,x,y,z-1
if leftkey()=1 then position object 1,x,y,z+1
if spacekey()=1 and Falling#=0.0
move object up 1,1
Falling#=-3.0
endif
x2=object position x(1)
y2=object position y(1)
z2=object position z(1)
REM *** THIS IS FOR THE SIDE-TO-SIDE CHECKS ****
for b=2 to 9
D#=INTERSECT OBJECT(b,x2,y2,z2,x2-10.0,y2,z2)
if D#<10.0 and D#>0.0
position object 1,x2+(10.0-D#),y2,z2
Endif
D#=INTERSECT OBJECT(b,x2,y2,z2,x2+10.0,y2,z2)
if D#<10.0 and D#>0.0
position object 1,x2-(10.0-D#),y2,z2
Endif
D#=INTERSECT OBJECT(b,x2,y2,z2,x2,y2,z2-10.0)
if D#<10.0 and D#>0.0
position object 1,x2,y2,z2+(10.0-D#)
Endif
D#=INTERSECT OBJECT(b,x2,y2,z2,x2,y2,z2+10.0)
if D#<10.0 and D#>0.0
position object 1,x2,y2,z2-(10.0-D#)
Endif
Next b
sync
loop
Anyway with sparkys do you have to decide where your collisions are (or whatever) like in above or does it do something like view your object and then make collisions (so it's more precise)? If so how would I do that?
For example in my code above making collisions for a box

is easy but if you wanted something like a circle

I don't think it would be very precise.
I want coke, not Pepsi!