rem Music Showcase
rem Standard Setup Code for all examples
sync on : sync rate 240 : backdrop off
set text font "arial" : set text size 16
set text to bold : set text transparent
rem Loading prompt
sync : center text screen width()/2,screen height()/2,"LOADING" : sync
rem Load room
load object "world\room.x",1
xrotate object 1,270
fix object pivot 1
rotate object 1,0,0,0
set object specular 1,0
rem Load for selection
for t=2 to 5
if t=2 then load object "models\harp\harp.x",t : tx=-100 : ta=135
if t=3 then load object "models\trumpet\trumpet.x",t : tx=-200 : ta=90
if t=4 then load object "models\piano\piano2.x",t : tx=100 : ta=315
if t=5 then load object "models\mandolin\mandolin.x",t : tx=-150 : ta=90
position object t,tx,0,40-(((t-3)*80))
rotate object t,270,ta,0
scale object t,25,25,25
fix object pivot t
rotate object t,0,180,0
set object specular t,0
next t
rem Load music
load music "music\space.mp3",1 : loop music 1
load music "music\misty.mp3",2
load music "music\fun.mp3",3
load music "music\hero.mp3",4
rem Setup camera and light
set point light 0,0,0,0
position camera -450,100,10
yrotate camera 90
rem Select first globe (via Xangle trigger)
xrotate object 2,1
rem Main loop
desc$="Music Room (Select An Instrument)"
do
rem Control mouse selector
if mouseclick()=1
sel=0
if mousex()>70 and mousex()<600
sel=1+((mousex()-70)/(530/4))
if sel>4 then sel=4
endif
if sel>0
for t=2 to 5
if t<>(1+sel) and object angle x(t)=1
xrotate object t,0
if t=2 then stop music 1
if t=3 then stop music 2
if t=4 then stop music 3
if t=5 then stop music 4
endif
next t
if object angle x(1+sel)=0
xrotate object 1+sel,1
if sel=1 then loop music 1
if sel=2 then loop music 2
if sel=3 then loop music 3
if sel=4 then loop music 4
endif
endif
endif
rem Control selected sphere
for t=2 to 5
a#=wrapvalue(object angle y(t)+1)
if object angle x(t)=0 and a#=1.0 then a#=0
yrotate object t,a#
a#=object angle y(t)
position object t,object position x(t),50-(cos(a#)*50),40-(((t-3)*80))
if object angle x(t)=1 then lightz#=object position z(t) : lighty#=object position y(t)
next t
rem Control light
position light 0,-250,lighty#+50,lightz#
rem Show Framerate
text 20,screen height()-40,desc$
fps$="DBPro Fps: "+str$(screen fps())
text screen width()-20-text width(fps$),screen height()-40,fps$
rem Update screen
sync
rem End loop
loop
|