Con ActionScript®, se puede controlar la línea de tiempo en tiempo de ejecución. Con ayuda de ActionScript, es posible crear interacción y agregar otras funcionalidades a los archivos FLA que no es posible conseguir únicamente con la línea de tiempo.

Con ActionScript®, se puede controlar la línea de tiempo en tiempo de ejecución. Con ayuda de ActionScript, es posible crear interacción y agregar otras funcionalidades a los archivos FLA que no es posible conseguir únicamente con la línea de tiempo.

Consulte los temas de líneas de tiempo y ActionScript en la ayuda en línea para saber más sobre el control de la línea de tiempo con ActionScript.

Rutas absolutas

Una ruta absoluta comienza con el nombre del nivel en el que está cargado el documento y continúa a lo largo de la lista de visualización hasta que alcanza la instancia de destino. También puede utilizar el alias _root para hacer referencia a la línea de tiempo situada más arriba del nivel actual. Por ejemplo, una acción del clip de película california que hace referencia al clip de película oregon puede utilizar la ruta absoluta _root.westCoast.oregon.

El primer documento que se abre en Flash Player se carga en el nivel 0. Debe asignar a cada documento adicional que cargue un número de nivel. Si utiliza una referencia absoluta en ActionScript para hacer referencia a un documento cargado, utilice la sintaxis _levelX, siendo X el número de nivel en el que está cargado el documento. Por ejemplo, el primer documento abierto en Flash Player se llama _level0; un documento cargado en el nivel 3 se llama _level3.

Para establecer comunicación entre documentos de niveles distintos, debe utilizar el nombre de nivel en la ruta de destino. El siguiente ejemplo muestra cómo se referiría la instancia portland a la instancia atlanta en un clip de película llamado georgia (georgia se encuentra al mismo nivel que oregon):

_level5.georgia.atlanta

Puede utilizar el alias _root para hacer referencia a la línea de tiempo principal del nivel actual. Para la línea de tiempo principal, el alias _root significa _level0 cuando se selecciona como destino desde un clip que también está en _level0. Para un documento cargado en _level5, _root equivale a _level5 cuando se establece como destino de un clip de película que también está en level 5. Por ejemplo, si los clips de película southcarolina y florida se cargan en el mismo nivel, una acción a la que se llama desde la instancia southcarolina podría utilizar la siguiente ruta absoluta para establecer como destino la instancia florida:

_root.eastCoast.florida

Rutas relativas

Una ruta relativa depende de la relación entre la línea de tiempo de control y la línea de tiempo de destino. Las rutas relativas sólo pueden referirse a destinos que se encuentren dentro de su propio nivel de Flash Player. Por ejemplo, no puede utilizar una ruta relativa en una acción en _level0 que establece como destino una línea de tiempo en _level5.

En una ruta relativa, utilice la palabra clave this para hacer referencia a la línea de tiempo actual del nivel activo; utilice el alias _parent para indicar la línea de tiempo principal de la línea de tiempo actual. El alias _parent puede utilizarse repetidamente para subir un nivel en la jerarquía de clips de película dentro del mismo nivel de Flash Player. Por ejemplo, _parent._parent controla un clip de película dos niveles más arriba en la jerarquía. La línea de tiempo situada más arriba en cualquier nivel de Flash Player es la única línea de tiempo que no tiene definido el valor _parent.

Una acción de la línea de tiempo de la instancia charleston, situada un nivel por debajo de southcarolina, podría utilizar la ruta de destino siguiente para seleccionar la instancia southcarolina como destino:

_parent

Para especificar la instancia eastCoast (un nivel por encima) como destino desde una acción en charleston, podría utilizar la ruta relativa siguiente:

_parent._parent

Para especificar la instancia atlanta como destino desde una acción de la línea de tiempo de charleston, podría utilizar la ruta relativa siguiente:

_parent._parent.georgia.atlanta

Las rutas relativas son útiles para volver a utilizar scripts. Por ejemplo, podría adjuntar el siguiente script a un clip de película que aumenta el clip de película principal en un 150%:

onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

Puede volver a utilizar este script adjuntándolo a cualquier instancia de clip de película.

Nota:

Flash Lite 1.0 y 1.1 sólo permiten adjuntar scripts a botones. En cambio, no permiten adjuntar scripts a los clips de película.

Tanto si se utiliza una ruta absoluta o relativa, una variable en una línea de tiempo o una propiedad de un objeto se identifica con un punto (.) seguido del nombre de la variable o la propiedad. Por ejemplo, la sentencia siguiente establece la variable name de la instancia form en el valor "Gilbert":

_root.form.name = "Gilbert";

Utilización de rutas de destino absolutas y relativas

Puede utilizar ActionScript para enviar mensajes desde una línea de tiempo a otra. La línea de tiempo que contiene la acción se denomina línea de tiempo de control y la línea de tiempo que recibe la acción se denomina línea de tiempo de destino. Por ejemplo, puede haber una acción en el último fotograma de una línea de tiempo que indique a otra línea de tiempo que se reproduzca. Para hacer referencia a una línea de tiempo de destino, debe utilizar una ruta de destino que indique la ubicación de un clip de película en la lista de visualización.

El siguiente ejemplo muestra la jerarquía del documento westCoast en el nivel 0, que contiene tres clips de película: california, oregon y washington. Cada uno de estos clips de película contiene a su vez dos clips de película.

_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

Al igual que en un servidor web, puede hacer referencia a cada línea de tiempo de Animate de dos maneras distintas: con una ruta absoluta o con una ruta relativa. La ruta absoluta de una instancia corresponde siempre a la ruta completa de un nombre de nivel, independientemente de qué línea de tiempo llame a la acción; por ejemplo, la ruta absoluta a la instancia california será _level0.westCoast.california. Una ruta relativa es diferente cuando se llama desde distintas ubicaciones; por ejemplo, la ruta relativa para california desde sanfrancisco es _parent, pero desdeportland, es _parent._parent.california.

Especificación de rutas de destino

Para controlar un clip de película, archivo SWF cargado o un botón, es preciso especificar una ruta de destino. Ésta se puede especificar manualmente o con el cuadro de diálogo Insertar ruta de destino o mediante la creación de una expresión que dé como resultado una ruta de destino. Para especificar una ruta de destino de un clip de película o botón, debe asignar un nombre de instancia al clip de película o botón. Un documento cargado no requiere un nombre de instancia, puesto que se utiliza el número de nivel como nombre de instancia (por ejemplo, _level5).

Asignación de un nombre de instancia a un clip de película o botón

  1. Seleccione un clip de película o un botón en el escenario.
  2. Introduzca un nombre de instancia en el inspector de propiedades.

Especificación de una ruta de destino mediante el cuadro de diálogo Insertar ruta de destino

  1. Seleccione la instancia de clip de película, de fotograma o de botón a la que desea asignar la acción.

    Ésta será la línea de tiempo de control.

  2. En el panel Acciones (Ventana > Acciones), vaya a la caja de herramientas Acciones de la izquierda y seleccione una acción o un método que requiera una ruta de destino.
  3. Haga clic en el cuadro o la ubicación del parámetro del script donde desea insertar la ruta de destino.
  4. Haga clic en el botón Insertar ruta de destino  situado encima del panel Script.
  5. Seleccione Absoluto o Relativo para el modo de ruta de destino.
  6. Seleccione un clip de película en la lista de visualización Insertar ruta de destino y haga clic en Aceptar.

Especificación manual de una ruta de destino

  1. Seleccione la instancia de clip de película, de fotograma o de botón a la que desea asignar la acción.

    Ésta será la línea de tiempo de control.

  2. En el panel Acciones (Ventana > Acciones), vaya a la caja de herramientas Acciones de la izquierda y seleccione una acción o un método que requiera una ruta de destino.
  3. Haga clic en el cuadro o la ubicación del parámetro del script donde desea insertar la ruta de destino.
  4. Introduzca una ruta de destino absoluta o relativa en el panel Acciones.

Utilización de una expresión como ruta de destino

  1. Seleccione la instancia de clip de película, de fotograma o de botón a la que desea asignar la acción.

    Ésta será la línea de tiempo de control.

  2. En el panel Acciones (Ventana > Acciones), vaya a la caja de herramientas Acciones de la izquierda y seleccione una acción o un método que requiera una ruta de destino.
  3. Realice uno de los siguientes pasos:
    • Introduzca una expresión que dé como resultado una ruta de destino en un cuadro de parámetro.

    • Haga clic para colocar el punto de inserción en el script. A continuación, en la categoría Funciones de la caja de herramientas Acciones, haga doble clic en la función targetPath. La función targetPath convierte una referencia a un clip de película en una cadena.

    • Haga clic para colocar el punto de inserción en el script. A continuación, en la categoría Funciones de la caja de herramientas Acciones, seleccione la función eval. La función eval convierte una cadena en una referencia a un clip de película que puede utilizarse para llamar a métodos, como por ejemplo play.

      En el script siguiente se asigna el valor 1 a la variable i. A continuación, se utiliza la función eval para crear una referencia a una instancia de clip de película y se asigna a la variable x. La variable x es ahora una referencia a una instancia de clip de película y puede llamar a los métodos del objeto MovieClip.

      i = 1; x = eval("mc"+i); x.play(); // esto equivale a mc1.play();

      También puede utilizar la función eval para llamar a métodos directamente, como muestra el siguiente ejemplo:

      eval("mc" + i).play();

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea