home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 46 / Mobiclic46.iso / pc / DATA / SHARED / COMMUNS.CST / 00006_Script_moteurs < prev    next >
Text File  |  2002-07-12  |  7KB  |  252 lines

  1. -- test clic sur Θcran
  2. on testClic
  3.   global volumeOn
  4.   if volumeOn<>1 then
  5.     return 1
  6.   else
  7.     return 0
  8.   end if
  9. end
  10.  
  11. -- repΘrage de coordonnΘes d'acteurs sur la scΦne
  12. on posXY a,b
  13.   -- un champ nommΘ "locHV" doit exister dans la distribution interne
  14.   repeat with i= a to b
  15.     member("locHV").line[i-a+1].word[1] = sprite(i).locH
  16.     member("locHV").line[i-a+1].word[2] = sprite(i).locV
  17.   end repeat
  18. end
  19.  
  20. -- impression de l'Θcran
  21. on imprime
  22.   printStage    
  23. end
  24.  
  25. -- impression de l'Θcran
  26. on imprimeNew
  27.   prevue = the optionDown
  28.   doc = xtra("PrintOMatic").new()
  29.   if not objectP(doc) then exit
  30.   setPrintableMargins doc
  31.   if doPageSetUp (doc) = true then
  32.     newPage doc
  33.     H = getPageWidth(doc)
  34.     V = getPageHeight(doc)
  35.     X =(H-640)/2
  36.     Y =(V-480)/2
  37.     if H>640 then
  38.       drawStagePicture doc, Point(X,Y),Rect(1,1,640,480),true
  39.     else
  40.       drawStagePicture doc, rect(1,1,H,V),Rect(1,1,640,480),true
  41.     end if
  42.     if doJobSetup (doc) = TRUE then
  43.       if prevue = 1 then
  44.         printPreview doc
  45.       else
  46.         setProgressMsg doc , "Impression d'un Θcran en cours... "
  47.         print doc
  48.       end if
  49.     end if
  50.   end if
  51.   doc = 0
  52. end
  53.  
  54. -- impression d'un acteur
  55. on imprimeActeur n,c
  56.   if the paramCount=1 then
  57.     set c=1
  58.   end if
  59.   -- gΘnΘrer un aperτu d'Θcran si la touche option est appuyΘe
  60.   if the optionDown=1 then
  61.     set prevue=1
  62.   end if
  63.   -- enregistrement de PrintOMatic
  64.   if the platform="Windows,16" then
  65.     register(xtra "PrintOMatic",  member("codePom").line[2])
  66.   else
  67.     register(xtra "PrintOMatic",  member("codePom").line[1])
  68.   end if
  69.   if prevue=1 then
  70.     printPreview member n of castLib c
  71.   else
  72.     print member n of castLib c
  73.   end if
  74. end imprimeActeur
  75.  
  76. -- temporisation (en secondes)
  77. on temporise t
  78.   set t= t*60
  79.   set d = the timer
  80.   repeat while the timer - d < t
  81.   end repeat
  82. end temporise
  83.  
  84. -- conversion d'un chemin d'accΦs de Mac α Dos
  85. on nomDos nom
  86.   if the machineType = 256 then
  87.     repeat with i=1 to the number of chars of nom
  88.       if char i of nom = ":" then
  89.         put "\" into char i of nom
  90.       end if
  91.     end repeat
  92.   end if
  93.   return nom
  94. end nomDos
  95.  
  96. -- affichage successif des pistes d'un groupe de pistes
  97.  
  98. on choixElements a,b,mode
  99.   -- gΦre l'affichage alternatif d'une piste parmi un groupe
  100.   -- de pistes dont les numΘros sont compris entre a et b
  101.   -- mode : 0 passage par un Θtat vide, 1 pas d'Θtat vide
  102.   if the paramCount=2 then
  103.     set mode=0
  104.   end if
  105.   repeat with i=a to b
  106.     if the visible of sprite i=1 then
  107.       exit repeat
  108.     end if
  109.   end repeat
  110.   if i=b+1 then
  111.     -- aucune piste n'est affichΘe
  112.     set piste=a
  113.   else
  114.     if i=b then
  115.       -- derniΦre piste affichΘe : selon mode
  116.       if mode=0 then
  117.         piste=value(member("PPGS").text)
  118.       else
  119.         piste=a
  120.       end if
  121.     else
  122.       -- cas gΘnΘral : afficher la piste suivante
  123.       set piste=i+1
  124.     end if
  125.   end if
  126.   -- dissimulation de toutes les pistes
  127.   repeat with i=a to b
  128.     masquerPistes i
  129.   end repeat
  130.   -- affichage de la bonne piste
  131.   if piste<>value(member("PPGS").text) then
  132.     afficherPistes piste
  133.   end if
  134.   puppetSound 2, "poc"
  135. end
  136.  
  137. -- tirage d'une liste alΘatoire
  138. on randomList nbreElts, nbreMaxi
  139.   -- tirage alΘatoire d'une liste de nombres dont le nombre d'ΘlΘments est nbreElts
  140.   -- et dont chaque valeur est comprise entre 1 et nbreMaxi
  141.   ---- nbreElts = le nombre d'ΘlΘments de la liste
  142.   ---- nbreMaxi = nombre maximum pouvant Ωtre incorporΘ α la liste
  143.   set randomList=[]
  144.   if the paramCount=1 then
  145.     set nbreMaxi=nbreElts
  146.   end if
  147.   if nbreElts>0 then
  148.     repeat while count(randomList)<nbreElts
  149.       set r = random(nbreMaxi)
  150.       if getPos(randomList,r)=0 then
  151.         append randomList, r
  152.       end if
  153.     end repeat
  154.   end if
  155.   return randomList
  156. end
  157.  
  158. -- positions dans liste
  159. on positionsListe liste1
  160.   -- α partir de la liste liste1 construit liste2 telle que les ΘlΘments de liste2
  161.   -- sont les positions occupΘes par les nombres de 1 α n dans liste1
  162.   set n = count(liste1)
  163.   set liste2=[]
  164.   setAt liste2, n ,0
  165.   repeat with i=1 to n
  166.     set p = getPos(liste1,i)
  167.     setAt liste2,i,p
  168.   end repeat
  169.   return liste2
  170. end
  171.  
  172. -- envoi direct d'un mouseUp α une image objet
  173. on click piste
  174.   -- passe le message mouseUp α l'image objet piste
  175.   mouseUp(script (the scriptNum of sprite piste))
  176. end
  177.  
  178. -- teste la visibilitΘ d'un groupe de pistes
  179. on test piste1,piste2
  180.   set testM=0
  181.   repeat with i=piste1 to piste2
  182.     set testM = testM + the visible of sprite i
  183.   end repeat
  184.   return testM
  185. end
  186.  
  187. -- Importation d'un fichier dans un acteur (nΘcessite fileXtra)
  188. on importer numActeur, type
  189.   -- numActeur est le numΘro de l'acteur dans lequel
  190.   -- doit avoir lieu l'importation
  191.   
  192.   -- teste le numΘro d'acteur pour l'importation
  193.   if value(numActeur)=0 then exit
  194.   -- controle de la prΘsence d'un type de fichier
  195.   if the paramCount=1 then
  196.     set type=""
  197.   else
  198.     set type=string(type)
  199.   end if
  200.   -- affichage d'une boεte de dialogue ouvrir
  201.   put fileopenDialog("",type) into nom
  202.   if nom<> "" then
  203.     importFileInto member numActeur, nom
  204.   end if
  205. end importer
  206.  
  207. -- Enregistrement d'un fichier texte sur le disque
  208. on enregistre acteur,texte1,texte2,mode
  209.   -- nΘcessite fileIO et fileXtra
  210.   -- acteur : numΘro de l'acteur texte α enregistrer
  211.   -- texte1 : nom de fichier par dΘfaut
  212.   -- texte2 : message de la boεte de dialogue
  213.   -- mode : 0 affiche une boite de dialogue
  214.   --        1 enregistre l'acteur au mΩme niveau que le film
  215.   --        2 enregistre l'acteur dans le dossier systΦme
  216.   if the paramCount=3 then
  217.     set mode =0
  218.   end if
  219.   case mode of
  220.     0:-- affichage d'une boεte de dialogue enregistrer sous
  221.       put FileSaveAsDialog(the pathName, texte1, texte2) into cible
  222.     1:-- enregistrement au niveau du film
  223.       set cible = the pathName & texte1
  224.     2:-- enregistrement dans le dossier systΦme
  225.       if the machineType = 256 then
  226.         cible = getOsDirectory() & "\" & texte1
  227.       else
  228.         cible = getOsDirectory() & texte1
  229.       end if
  230.   end case
  231.   if cible<>"" then
  232.     set enreg = new(xtra "fileIO")
  233.     createFile(enreg,cible)
  234.     openFile(enreg,cible,2)
  235.     chaine = member(acteur)
  236.     writeString(enreg, chaine)
  237.     closeFile(enreg)
  238.   end if
  239. end
  240.  
  241. -- donne le volume de dΘmarrage
  242. on disqueBoot
  243.   -- nΘcessite fileIO
  244.   if the machineType=256 then
  245.     disque = char 1 to offset("\", getOsDirectory()) of getOsDirectory()
  246.   else
  247.     disque = char 1 to offset(":", getOsDirectory()) of getOsDirectory()
  248.   end if
  249.   return disque
  250. end
  251.  
  252.