la routine che si occupa di posizionare l'object 3d e' :
direction pointer
set display mode 1024,768,32,1:sync on:autocam off:color backdrop 0
liv=1:ang#=0.0
make object cube 65000,4:hide object 65000
make object cube 1,4
position object 1,0,0,0
load object "prisma.3ds",2
set object wireframe 2,1
set object light 2,200
scale object 2,16,16,16
load object "skybox.dbo",65001
rem leggo alcune immagini
load image "sky"+str$(liv)+"\skybox+x.jpg", 2000, 1
load image "sky"+str$(liv)+"\skybox-x.jpg", 2001, 1
load image "sky"+str$(liv)+"\skybox+y.jpg", 2002, 1
load image "sky"+str$(liv)+"\skybox-y.jpg", 2003, 1
load image "sky"+str$(liv)+"\skybox+z.jpg", 2004, 1
load image "sky"+str$(liv)+"\skybox-z.jpg", 2005, 1
rem textured skybox
for i = 1 to 6
texture limb 65001, i-1,2000+(i-1)
next i
position object 65001,0,0,0:rotate object 65001,0,0,0
show object 65001
repeat
movx#=upkey()-downkey()
movy#=rightkey()-leftkey()
rem muoviamo la nave con i comandi volo libero
turn object right 1,movy#:ang#=wrapvalue(ang#+movy#)
pitch object up 1,movx#:ang#=wrapvalue(ang#+movx#)
turn object right 65000,movy#
pitch object up 65000,movx#
position object 65000,0,0,0
move object 65000,-130:move object up 65000,70
x#=object position x(1):y#=object position y(1):z#=object position z(1)
x1#=object position x(65000):y1#=object position y(65000):z1#=object position z(65000)
cdx#=newxvalue(x1#,object angle x(65000),0)
cdz#=newzvalue(z1#,object angle z(65000),0)
cdy#=newyvalue(y1#,object angle y(65000),0)
cx#=curvevalue(cdx#,cx#,15.0)
cy#=curvevalue(cdy#,cy#,15.0)
cz#=curvevalue(cdz#,cz#,15.0)
position camera cx#,cy#,cz#
rem align whit angles ship
rotate camera object angle x(65000),object angle y(65000),object angle z(65000)
pitch camera down 19
gosub direction_pointer
sync
until escapekey()
direction_pointer:
turn object right 2,movy#
pitch object up 2,movx#
ax#=camera position x():ay#=camera position y():az#=camera position z()
ccx#=newxvalue(ax#,ang#,60.0)
ccy#=newyvalue(ay#,-ang#,60.0)
ccz#=newzvalue(az#,ang#,60.0)
position object 2,ccx#,ccy#,ccz#
return