This example is made with six plains (something like a box). You could add four or nine plains per face to make a big map.
ink rgb(255,255,0),0
box 0,0,100,100
ink rgb(255,0,0),0
box 5,5,95,95
ink rgb(255,255,0),0
box 20,20,80,80
ink rgb(255,0,0),0
get image 1,0,0,100,100,0
autocam off
sync on
make light 1:position light 1,-100,-100,0
rem six plains for the entire sphere
for i= 1 to 6
make object plain i,30,30,30,30
texture object i,1
set object wireframe i,1
set object light i,0
set object cull i,0
next i
rem forming a box
position object 1,0,30,0
xrotate object 6,180
xrotate object 2,90:position object 2,0,15,15
xrotate object 3,-90:position object 3,0,15,-15
zrotate object 4,90:position object 4,-15,15,0
zrotate object 5,-90:position object 5,15,15,0
rem object 20 and 21 to make the trick....we force the box to point to the sphere and then move the box
rem to rise every vertex of the plains
make object sphere 20,2
position object 20,0,15,0
make object box 21,1,1,1
x=object position x(20)
y=object position y(20)
z=object position z(20)
for ob= 1 to 6
lock vertexdata for limb ob,0
vert=get vertexdata vertex count()
for i=0 to vert-1
x#=get vertexdata position x(i)
y#=get vertexdata position y(i)
z#=get vertexdata position z(i)
position object 21,x,y,z
point object 21,x#,y#,z#
move object 21,-30
lx#=object position x(21)
ly#=object position y(21)
lz#=object position z(21)
set vertexdata position i,lx#,ly#,lz#
next i
unlock vertexdata
next ob
for i= 1 to 6
move object up i,-30
next i
position camera -60,60,-60
point camera 0,0,0
do
set cursor 0,0
print "Press spacekey"
mv#=0.03
if spacekey()
for i= 1 to 6
move object up i,mv#
next i
else
for i= 1 to 6
position object i,0,0,0
move object up i,-15
next i
endif
`camera control.
control camera using arrowkeys 0,0.1,0.1
a#=wrapvalue(a#+mousemovex()/2)
cam#=wrapvalue(cam#+mousemovey()/2)
rotate camera cam#,a#,0
if leftkey() then move camera left 0.1
if rightkey() then move camera right 0.1
sync
loop
I'm not a grumpy grandpa
