Description
  
   La syntaxe de script est basée sur le langage C, mais avec beaucoup
   de différences : le bytcode SWF est simplifié pour ne faire que ce dont
   on a besoin. Actuellement, nous ne pouvons pas implémenter des appels
   à des fonctions sans d'affreux hacks, car le bytecode a des valeurs de
   position codées en interne.
  
  
   Que reste-t-il donc ? le compilateur reconnaît les instances suivantes :
   
    - 
     
      break
     
    
 
    - 
     
      for
     
    
 
    - 
     
      continue
     
    
 
    - 
     
      if
     
    
 
    - 
     
      else
     
    
 
    - 
     
      do
     
    
 
    - 
     
      while
     
    
 
   
  
  
   Il n'y a pas de données typées ; toutes les valeurs d'une action SWF sont
   stockées sous la forme de chaînes de caractères. Les fonctions suivantes
   peuvent être utilisées dans les expressions :
   
    
     - 
time()
 
     - 
      
       Retourne le nombre de millisecondes effectuées depuis le début d'une vidéo.
      
     
 
    
    
     - 
random(seed)
 
     - 
      
       Retourne le nombre pseudo-aléatoire dans la rangée 0-seed.
      
     
 
    
    
     - 
length(expr)
 
     - 
      
       Retourne la longueur de l'expression donnée.
      
     
 
    
    
     - 
int(number)
 
     - 
      
       Retourne le nombre donné arrondi au nombre inférieur.
      
     
 
    
    
     - 
concat(expr, expr)
 
     - 
      
       Retourne la concaténation des expressions données.
      
     
 
    
    
     - 
ord(expr)
 
     - 
      
       Retourne le code ASCII pour le caractère donné.
      
     
 
    
    
     - 
chr(num)
 
     - 
      
       Retourne le caractère pour le code ASCII donné.
      
     
 
    
    
     - 
substr(string, location, length)
 
     - 
      
       Retourne la sous chaîne de la longueur 
length
       à la position location de la chaîne
       string donnée.
      
      
    
   
  
  
   De plus, les commandes suivantes peuvent être utilisées :
   
    
     - 
duplicateClip(clip, name, depth)
 
     - 
      
       Duplique la vidéo nommée 
clip (c'est-à-dire sprite).
       La nouvelle vidéo a le nom name et est à la
       profondeur depth.
      
      
    
    
     - 
removeClip(expr)
 
     - 
      
       Efface la vidéo fournie.
      
     
 
    
    
     - 
trace(expr)
 
     - 
      
       Écrit l'expression donnée dans l'historique des traces.
      
     
 
    
    
     - 
startDrag(target, lock, [left, top, right, bottom])
 
     - 
      
       Démarre le déplacement de la vidéo 
target.
       L'argument lock indique si l'on verrouille
       la souris : utilisez 0 (FALSE) ou 1 (TRUE).
      
      
    
    
     - 
stopDrag()
 
     - 
      
       Commence le déplacement.
      
     
 
    
    
     - 
callFrame(expr)
 
     - 
      
       Appel la frame nommée, comme une fonction.
      
     
 
    
    
     - 
getURL(url, target, [method])
 
     - 
      
       Charge l'URL donnée, dans la cible nommée. L'argument
       
target correspond à la cible du document HTML
       (comme "_top" ou "_blank"). 
       L'argument optionnel method
       peut être POST ou GET si vous voulez soumettre les variables au serveur.
      
      
    
    
     - 
loadMovie(url, target)
 
     - 
      
       Charge l'URL donnée dans la cible nommée. L'argument
       
target peut être le nom d'une frame, ou
       une des valeurs magiques : "_level0" (remplace la vidéo courante)
       ou "_level1" (charge la nouvelle vidéo au dessus de la vidéo courante).
      
      
    
    
     - 
nextFrame()
 
     - 
      
       Se place sur la prochaine frame.
      
     
 
    
    
     - 
prevFrame()
 
     - 
      
       Se place sur la dernière (ou, plutôt, précédente) frame.
      
     
 
    
    
     - 
play()
 
     - 
      
       Commence à jouer la vidéo.
      
     
 
    
    
     - 
stop()
 
     - 
      
       Arrête de jouer la vidéo.
      
     
 
    
    
     - 
toggleQuality()
 
     - 
      
       Passe d'une qualité haute à basse, et inversement.
      
     
 
    
    
     - 
stopSounds()
 
     - 
      
       Arrête de jouer tous les sons.
      
     
 
    
    
     - 
gotoFrame(num)
 
     - 
      
       Se place sur la frame numéro 
num.
       Les numéros de frame commencent à 0.
      
      
    
    
     - 
gotoFrame(name)
 
     - 
      
       Se place sur la frame nommée 
name.
      
      
    
    
     - 
setTarget(expr)
 
     - 
      
       Définit le contexte de l'action.
      
     
 
    
   
   L'expression frameLoaded(num) peut être utilisée dans les instructions if
   et les boucles while pour vérifier si le numéro de frame donné a déjà été chargé.
  
  
   Les vidéos, c'est à dire des sprites, ont des propriétés. Vous pouvez les lire, en
   définir quelques unes. Voici la liste :
    
     - 
      
       x
      
     
 
     - 
      
       y
      
     
 
     - 
      
       xScale
      
     
 
     - 
      
       yScale
      
     
 
     - 
      
       currentFrame : (lecture seule) 
      
     
 
     - 
      
       totalFrames : (lecture seule)
      
     
 
     - 
      
       alpha : degré de transparence
      
     
 
     - 
      
       visible : 1=on, 0=off
      
     
 
     - 
      
       width : (lecture seule)
      
     
 
     - 
      
       height : (lecture seule)
      
     
 
     - 
      
       rotation 
      
     
 
     - 
      
       target : (lecture seule)
      
     
 
     - 
      
       framesLoaded : (lecture seule)
      
     
 
     - 
      
       name 
      
     
 
     - 
      
       dropTarget : (lecture seule)
      
     
 
     - 
      
       url : (lecture seule)
      
     
 
     - 
      
       highQuality : 1=high, 0=low
      
     
 
     - 
      
       focusRect
      
     
 
     - 
      
       soundBufTime
      
     
 
    
    Donc, définir la position d'un sprite est aussi simple que
    
/box.x = 100;. Pourquoi le slash au début ?
    C'est la façon dont Flash garde une trace des sprites dans une vidéo,
    tout comme le système de fichiers Unix : ici, la boite est au premier
    niveau. Si le sprite nommée 
"box" a un autre sprite nommé 
    
"biff" au dessous,
    vous pouvez définir sa position comme ceci :
    
/box/biff.x = 100;