Descripción
  
   La sintaxis de script está basada en el lenguaje C, pero con mucho extraído- la
   máquina de código de bytes de SWF es demasiado ingenua para hacer muchas cosas que nos gustaría.
   Por ejemplo, no podemos implementar llamadas a funciones sin una enorme
   cantidad de hackery ya que el código de bytes de salot tiene un valor de índice fuertemente
   codificado. No se puede introducir sus direcciones de llamada a la pila y devolver- 
   cada función tendría que saber exactamente dónode devolver.
  
  
   Entonces, ¿qué falta? El compilador reconoce los siguientes tokens: 
   
    - 
     
      break
     
    
- 
     
      for
     
    
- 
     
      continue
     
    
- 
     
      if
     
    
- 
     
      else
     
    
- 
     
      do
     
    
- 
     
      while
     
    
   No existe información de tipo; todos los valores de la máquina de acciones de SWF están almacenados
   como cadenas. Las siguientes funciones se pueden usar en expresiones:
   
    
     - 
time()
- 
      
       Devuelve el número de milisegundos (?) transcurridos desde el incio de la película. 
      
     
- 
random(seed)
- 
      
       Devuelve un número seudo-aleatorio en el rango de semilla 0.
      
     
- 
length(expr)
- 
      
       Devuelve la longitud de la expresión dada.
      
     
- 
int(number)
- 
      
       Devuelve el número dado redondeado hacia abajo al entero más cercano. 
      
     
- 
concat(expr, expr)
- 
      
       Devuelve la concatenación de las expresiones dadas.
      
     
- 
ord(expr)
- 
      
       Devuelve el código ASCII del carácter dado
      
     
- 
chr(num)
- 
      
       Devuelve el caráctar del código ASCII dado
      
     
- 
substr(string, location, length)
- 
      
       Devuelve la subcadena de longitud lengthen la ubicaciónlocationdel
       la cadenastringdada.
   Además, se pueden usar los siguientes comandos:
   
    
     - 
duplicateClip(clip, name, depth)
- 
      
       Duplica el clipde película nominado (también conocido como sprite). El nuevo clip de película tiene el nombre denamey profundidad dedepth.
- 
removeClip(expr)
- 
      
       Elimina el clip de película nominado.
      
     
- 
trace(expr)
- 
      
       Escribe la expresión dad la registro de rastreo.  the given expression to the trace log. Dudoso ya
       que el plugin del navegador no hace nada con esto. 
      
     
- 
startDrag(target, lock, [left, top, right, bottom])
- 
      
       Empieza a dibujar el clip de película target. El argumentolockindica si
       bloquear el ratón (?)- use 0 (FALSE) o 1 (TRUE). Los parámetros opcionales
       definen un área circundante para el dibujo.
- 
stopDrag()
- 
      
       Deja de arrastrar mi corazón. Y este clip de película, también.
      
     
- 
callFrame(expr)
- 
      
       Llama al fotograma nominado como una función.
      
     
- 
getURL(url, target, [method])
- 
      
       Carga la URL dada en el objetivo nominado. El argumento targetse corresponde con los objetivos del documento HTML (como "_top" or "_blank").
       El argumento opcionalmethodpuede ser POST o GET si se quieren enviar
       variables al servidor.
- 
loadMovie(url, target)
- 
      
       Carga la URL dada en el objetivo nominado. El argumento targetpuede ser un
       nombre de fotograma (creo), o uno de los valores mágicos "_level0" (reemplaza
       la película actual) o "_level1" (carga la nueva película encima de la película actual).
- 
nextFrame()
- 
      
       Va al siguiente fotograma.
      
     
- 
prevFrame()
- 
      
       Va al último (o, mejor dicho, al previo) fotograma.
      
     
- 
play()
- 
      
       Inicia la reproducción de la película.
      
     
- 
stop()
- 
      
       Detiene la reproducción de la película.
      
     
- 
toggleQuality()
- 
      
       Conmuta entre alta y baja calidad.
      
     
- 
stopSounds()
- 
      
       Detiene la reproducción de todos los sonidos.
      
     
- 
gotoFrame(num)
- 
      
       Va al fotograma número num. Los números de fotograma empiezan en 0.
- 
gotoFrame(name)
- 
      
       Va al fotograma llamado name. Que lo hace muy bien, ya que yo
       no he añadido etiquetas de fotogramas todavía.
- 
setTarget(expr)
- 
      
       Establece el contexto para la acción. O como se diga- No tengo ni idea
       de los que hace.
      
     
   Y hay una cosa rara extra. La expresión frameLoaded(num) se puede usar
   en sentencias if y bucles while para verificar se el número de fotograma dado ya
   ha sido cargado. Bien, se supone que sí, de todos modos, nunca lo he probado y
   dudo seriamente que realmente funcione. En su lugar puede usar /:framesLoaded instead.
  
  
    Los clips de película (ahora todos juntos- también llamados sprites) tienen propiedades. Se pueden
    leer todos, establecer algunos de ellos, y aquí
    están:
    
     - 
      
       x
      
     
- 
      
       y 
      
     
- 
      
       xScale 
      
     
- 
      
       yScale 
      
     
- 
      
       currentFrame - (solo lectura) 
      
     
- 
      
       totalFrames - (solo lectura)
      
     
- 
      
       alpha - nivel de transparencia
      
     
- 
      
       visible - 1=on, 0=off (?) 
      
     
- 
      
       width - (solo lectura)
      
     
- 
      
       height - (solo lectura)
      
     
- 
      
       rotation 
      
     
- 
      
       target - (solo lectura) (???) 
      
     
- 
      
       framesLoaded - (solo lectura)
      
     
- 
      
       name 
      
     
- 
      
       dropTarget - (solo lectura) (???) 
      
     
- 
      
       url - (solo lectura) (???) 
      
     
- 
      
       highQuality - 1=high, 0=low (?) 
      
     
- 
      
       focusRect - (???) 
      
     
- 
      
       soundBufTime - (???) 
      
     
    Así, establecer la posición de un sprite es tan sencillo como 
/box.x = 100;. 
    Aunque ¿por qué la barra al inicio de box? Así es como flash sigue
    la pista de los sprites en la película, como un sistema de archivos Unix- 
    aquí muestra que box está en el nivel superior. Si el sprite llamado
    box tiene otro sprite llamado biff dentro de él, se debería establecer su
    position x con /box/biff.x = 100;. Al menos eso creo; corríjame
    si me equivoco.