You don't have to make camera 1. You could just use camera 0.
This is how I usually control the camera, with the mouse to rotate-
autocam off
sync on
sync rate 60
hide mouse
randomize timer()
`you would make the world here
make object box 1,1000,1,1000
position object 1,0,-5,0
make object sphere 2,500
color object 2,rgb(0,255,255)
set object cull 2,0
for obj=3 to 200
height=rnd(19)+1
make object box obj,rnd(19)+1,height,rnd(19)+1
position object obj,rnd(1000)-500,height/2-5,rnd(1000)-500
color object obj,rgb(255,0,0)
next obj
do
sync
x#=camera angle x()
xrotate camera 0
move camera (upkey()-downkey())
yrotate camera camera angle y()+90
move camera (rightkey()-leftkey())
yrotate camera camera angle y()-90+mousemovex()/2
xrotate camera x#+mousemovey()/2
if camera angle x()>90 then xrotate camera 90
if camera angle x()<-90 then xrotate camera -90
position object 2,camera position x(),camera position y(),camera position z()
loop
but if you want to you could do what you said like this-
autocam off
sync on
sync rate 60
hide mouse
randomize timer()
`you would make the world here
make object box 1,1000,1,1000
position object 1,0,-5,0
make object sphere 2,500
color object 2,rgb(0,255,255)
set object cull 2,0
for obj=3 to 200
height=rnd(19)+1
make object box obj,rnd(19)+1,height,rnd(19)+1
position object obj,rnd(1000)-500,height/2-5,rnd(1000)-500
color object obj,rgb(255,0,0)
next obj
do
sync
if shiftkey()=0
x#=camera angle x()
xrotate camera 0
move camera (upkey()-downkey())
yrotate camera camera angle y()+90
move camera (rightkey()-leftkey())
yrotate camera camera angle y()-90
xrotate camera x#
else
yrotate camera camera angle y()+rightkey()-leftkey()
xrotate camera camera angle x()+downkey()-upkey()
if camera angle x()>90 then xrotate camera 90
if camera angle x()<-90 then xrotate camera -90
endif
position object 2,camera position x(),camera position y(),camera position z()
loop
Insanity is just a state of mind