Rem * Title : Model viewer
Rem * Author : Mr Cool
Rem * Date : 16/02/2002
`
` Model viewer par Mr Cool
`
` Mode d'emploi: créer l'exe du programme et glissez
` le .x ou le .3ds sur l'exe...
set display mode 800,600,16
hide mouse
sync on
autocam off
set camera view 200,0,799,599
model$=cl$()
if file exist(model$)=0
print "Fichier inconnu !"
sync
sleep 1000
end
endif
load object model$,1
position object 1,0,0,0
position camera 0,0,-50
point camera 0,0,0
perform checklist for object limbs 1
if total object frames(1)>0 then loop object 1
s=100
do
rem === affichage des infos ===
set cursor 0,0
ink 0,0
box 0,0,200,599
ink RGB(255,255,255),0
print "Touches: "
print "Flèces: bouger l'objet"
print "Plus/Moins: échelle de l'objet"
print "Entrée: colorer les limbs"
print "Echap: quitter"
print "--------------"
print "Taille de l'objet:"
print "X: ";object size x(1)
print "Y: ";object size y(1)
print "Z: ";object size z(1)
print "Globale: ";object size(1)
print "50 < Globale < 3000"
print "--------------"
print "Nombre de frames: ";total object frames(1)
print "--------------"
print "Limbs (";checklist quantity();"):"
for i=1 to checklist quantity()
if limb visible(1,i)
ink RGB(255,255,255),1
else
ink RGB(255,0,0),1
endif
print i;") ";checklist string$(i)
next i
rem === Gestion touches ===
if returnkey()
for i=1 to checklist quantity()
color limb 1,i,RGB(rnd(255),rnd(255),rnd(255))
next i
endif
if scancode()=78
inc s,10
scale object 1,s,s,s
endif
if scancode()=74
dec s,10
scale object 1,s,s,s
endif
if leftkey() then turn object left 1,3
if rightkey() then turn object right 1,3
if upkey() then pitch object up 1,3
if downkey() then pitch object down 1,3
if (scancode()=2) and (limb exist(1,1))
if limb visible(1,1)
hide limb 1,1
else
show limb 1,1
endif
endif
if (scancode()=3) and (limb exist(1,2))
if limb visible(1,2)
hide limb 1,2
else
show limb 1,2
endif
endif
if (scancode()=4) and (limb exist(1,3))
if limb visible(1,3)
hide limb 1,3
else
show limb 1,3
endif
endif
if (scancode()=5) and (limb exist(1,4))
if limb visible(1,4)
hide limb 1,4
else
show limb 1,4
endif
endif
if (scancode()=6) and (limb exist(1,5))
if limb visible(1,5)
hide limb 1,5
else
show limb 1,5
endif
endif
if (scancode()=7) and (limb exist(1,6))
if limb visible(1,6)
hide limb 1,6
else
show limb 1,6
endif
endif
if (scancode()=8) and (limb exist(1,7))
if limb visible(1,7)
hide limb 1,7
else
show limb 1,7
endif
endif
if (scancode()=9) and (limb exist(1,8))
if limb visible(1,8)
hide limb 1,8
else
show limb 1,8
endif
endif
if (scancode()=10) and (limb exist(1,9))
if limb visible(1,9)
hide limb 1,9
else
show limb 1,9
endif
endif
if (scancode()=11) and (limb exist(1,10))
if limb visible(1,10)
hide limb 1,10
else
show limb 1,10
endif
endif
rem boucle de bridage pour éviter les répétitions
while (scancode()<12) and (scancode()>0)
sync
endwhile
sync
loop