home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mobiclic 46
/
Mobiclic46.iso
/
pc
/
DATA
/
SHARED
/
COMMUNS.CST
/
00006_Script_moteurs
< prev
next >
Wrap
Text File
|
2002-07-12
|
7KB
|
252 lines
-- test clic sur Θcran
on testClic
global volumeOn
if volumeOn<>1 then
return 1
else
return 0
end if
end
-- repΘrage de coordonnΘes d'acteurs sur la scΦne
on posXY a,b
-- un champ nommΘ "locHV" doit exister dans la distribution interne
repeat with i= a to b
member("locHV").line[i-a+1].word[1] = sprite(i).locH
member("locHV").line[i-a+1].word[2] = sprite(i).locV
end repeat
end
-- impression de l'Θcran
on imprime
printStage
end
-- impression de l'Θcran
on imprimeNew
prevue = the optionDown
doc = xtra("PrintOMatic").new()
if not objectP(doc) then exit
setPrintableMargins doc
if doPageSetUp (doc) = true then
newPage doc
H = getPageWidth(doc)
V = getPageHeight(doc)
X =(H-640)/2
Y =(V-480)/2
if H>640 then
drawStagePicture doc, Point(X,Y),Rect(1,1,640,480),true
else
drawStagePicture doc, rect(1,1,H,V),Rect(1,1,640,480),true
end if
if doJobSetup (doc) = TRUE then
if prevue = 1 then
printPreview doc
else
setProgressMsg doc , "Impression d'un Θcran en cours... "
print doc
end if
end if
end if
doc = 0
end
-- impression d'un acteur
on imprimeActeur n,c
if the paramCount=1 then
set c=1
end if
-- gΘnΘrer un aperτu d'Θcran si la touche option est appuyΘe
if the optionDown=1 then
set prevue=1
end if
-- enregistrement de PrintOMatic
if the platform="Windows,16" then
register(xtra "PrintOMatic", member("codePom").line[2])
else
register(xtra "PrintOMatic", member("codePom").line[1])
end if
if prevue=1 then
printPreview member n of castLib c
else
print member n of castLib c
end if
end imprimeActeur
-- temporisation (en secondes)
on temporise t
set t= t*60
set d = the timer
repeat while the timer - d < t
end repeat
end temporise
-- conversion d'un chemin d'accΦs de Mac α Dos
on nomDos nom
if the machineType = 256 then
repeat with i=1 to the number of chars of nom
if char i of nom = ":" then
put "\" into char i of nom
end if
end repeat
end if
return nom
end nomDos
-- affichage successif des pistes d'un groupe de pistes
on choixElements a,b,mode
-- gΦre l'affichage alternatif d'une piste parmi un groupe
-- de pistes dont les numΘros sont compris entre a et b
-- mode : 0 passage par un Θtat vide, 1 pas d'Θtat vide
if the paramCount=2 then
set mode=0
end if
repeat with i=a to b
if the visible of sprite i=1 then
exit repeat
end if
end repeat
if i=b+1 then
-- aucune piste n'est affichΘe
set piste=a
else
if i=b then
-- derniΦre piste affichΘe : selon mode
if mode=0 then
piste=value(member("PPGS").text)
else
piste=a
end if
else
-- cas gΘnΘral : afficher la piste suivante
set piste=i+1
end if
end if
-- dissimulation de toutes les pistes
repeat with i=a to b
masquerPistes i
end repeat
-- affichage de la bonne piste
if piste<>value(member("PPGS").text) then
afficherPistes piste
end if
puppetSound 2, "poc"
end
-- tirage d'une liste alΘatoire
on randomList nbreElts, nbreMaxi
-- tirage alΘatoire d'une liste de nombres dont le nombre d'ΘlΘments est nbreElts
-- et dont chaque valeur est comprise entre 1 et nbreMaxi
---- nbreElts = le nombre d'ΘlΘments de la liste
---- nbreMaxi = nombre maximum pouvant Ωtre incorporΘ α la liste
set randomList=[]
if the paramCount=1 then
set nbreMaxi=nbreElts
end if
if nbreElts>0 then
repeat while count(randomList)<nbreElts
set r = random(nbreMaxi)
if getPos(randomList,r)=0 then
append randomList, r
end if
end repeat
end if
return randomList
end
-- positions dans liste
on positionsListe liste1
-- α partir de la liste liste1 construit liste2 telle que les ΘlΘments de liste2
-- sont les positions occupΘes par les nombres de 1 α n dans liste1
set n = count(liste1)
set liste2=[]
setAt liste2, n ,0
repeat with i=1 to n
set p = getPos(liste1,i)
setAt liste2,i,p
end repeat
return liste2
end
-- envoi direct d'un mouseUp α une image objet
on click piste
-- passe le message mouseUp α l'image objet piste
mouseUp(script (the scriptNum of sprite piste))
end
-- teste la visibilitΘ d'un groupe de pistes
on test piste1,piste2
set testM=0
repeat with i=piste1 to piste2
set testM = testM + the visible of sprite i
end repeat
return testM
end
-- Importation d'un fichier dans un acteur (nΘcessite fileXtra)
on importer numActeur, type
-- numActeur est le numΘro de l'acteur dans lequel
-- doit avoir lieu l'importation
-- teste le numΘro d'acteur pour l'importation
if value(numActeur)=0 then exit
-- controle de la prΘsence d'un type de fichier
if the paramCount=1 then
set type=""
else
set type=string(type)
end if
-- affichage d'une boεte de dialogue ouvrir
put fileopenDialog("",type) into nom
if nom<> "" then
importFileInto member numActeur, nom
end if
end importer
-- Enregistrement d'un fichier texte sur le disque
on enregistre acteur,texte1,texte2,mode
-- nΘcessite fileIO et fileXtra
-- acteur : numΘro de l'acteur texte α enregistrer
-- texte1 : nom de fichier par dΘfaut
-- texte2 : message de la boεte de dialogue
-- mode : 0 affiche une boite de dialogue
-- 1 enregistre l'acteur au mΩme niveau que le film
-- 2 enregistre l'acteur dans le dossier systΦme
if the paramCount=3 then
set mode =0
end if
case mode of
0:-- affichage d'une boεte de dialogue enregistrer sous
put FileSaveAsDialog(the pathName, texte1, texte2) into cible
1:-- enregistrement au niveau du film
set cible = the pathName & texte1
2:-- enregistrement dans le dossier systΦme
if the machineType = 256 then
cible = getOsDirectory() & "\" & texte1
else
cible = getOsDirectory() & texte1
end if
end case
if cible<>"" then
set enreg = new(xtra "fileIO")
createFile(enreg,cible)
openFile(enreg,cible,2)
chaine = member(acteur)
writeString(enreg, chaine)
closeFile(enreg)
end if
end
-- donne le volume de dΘmarrage
on disqueBoot
-- nΘcessite fileIO
if the machineType=256 then
disque = char 1 to offset("\", getOsDirectory()) of getOsDirectory()
else
disque = char 1 to offset(":", getOsDirectory()) of getOsDirectory()
end if
return disque
end