Unidad 17. Ejemplos de ActionScript 3.0 (II)



17.3. Código ActionScript para Clips de película

Los Clips de Película (objeto MovieClip) son películas dentro de películas. Pueden tener código AS dentro de sí mismos, aunque suele ser más común que algún otro código externo (situado en fotogramas) les haga referencia. Para que el código que contengan los clips de película sea válido, éstos deben tener algún evento de clip asociado (Load, KeyDown etc) que determine cuándo se ejecutará este código (al cargarse el clip, al pulsar alguna tecla ...)

import flash.events.*;
miBoton.addEventListener(MouseEvent.CLICK, miFuncion);
function miFuncion(event:MouseEvent):void
{
    r1.gotoAndPlay(2);
}

Esta acción provoca que al pulsar un botón vayamos al fotograma 2 de un Clip de Película determinado. El fotograma de la película principal no variará.

Las primeras líneas son las comentadas anteriormente.

Partimos de una película con 2 fotogramas distintos.

En el primer fotograma están el botón y el clip de película (r1) correspondientes. El clip de película tiene en su línea de tiempos una animación, inicialmente detenida. Veamos que pasa si se accede a su fotograma 2.

En el segundo fotograma no nos importa lo que haya porque la acción situada a la izquierda no nos llevará hasta allí. La cabeza lectora de la película principal es independiente.

17.4. Sonidos con ActionScript 3

Aunque la idea de objeto no suele llevarnos a pensar en un sonido, en Flash CS5 los sonidos también son objetos y podemos manejarlos usando adecuadamente ActionScript. Veamos unos cuantos códigos muy comunes y un completo ejemplo de cómo usarlos:

//Código 1

var req:URLRequest = new URLRequest("sonido.mp3");
var musica:Sound = new Sound(req);
var canal:SoundChannel = new SoundChannel();

sonido.mp3 es el nombre del archivo de sonido que se va a cargar, seria aquí donde deberíamos sustituir éste y poner el nombre del sonido que queramos nosotros, y deberá encontrarse en el mismo directorio que se encuentre el archivo Flash que estamos creando, o indicar la ruta completa.

En musica, que es un objeto Sound, almacenamos el sonido. Para controlarlo, utilizaremos canal, un objeto SoundChanel.

// Código 2 

canal.stop();

Este código detiene el sonido que se esté reproduciendo por el canal de sonido canal.

// Código 3
        
canal.stop();
canal = musica.play(0,99);

La primera línea detiene el sonido, como hemos visto antes.

La segunda, provoca que el sonido musica comience a reproducirse (play) a partir de su posición inicial (el 0 indica los segundos transcurridos desde el comienzo) y lo haga 99 veces (esto se llama loop o bucle). Si ponemos sólo musica.play();, se reproducirá desde el principio y sólo una vez, como vemos en el siguiente código:

//  Código 4

canal.stop();
canal = musica.play();

Ahora que ya sabemos controlar los sonidos mediante ActionScript, veamos un ejemplo que reúne todo lo visto anteriormente.

En este ejemplo:

- Tenemos un único fotograma con 3 botones. En este fotograma tenemos insertado el Código 1.

- Los 3 botones tienen distintas funcionalidades:

- En el botón rojo, está insertado el Código 2

- En el botón azul, está insertado el Código 3

- En el botón verde, está insertado el Código 4

El contenido de esta página requiere una versión más reciente de Adobe Flash Player.

Obtener Adobe Flash Player




Marzo-2011
Pág. 17.2

Atrás  Inicio  Adelante




.