Acciones. actionScript

 

En este apartado vamos a empezar a trabajar con ActionScript, que es el lenguaje de programación de Flash 5 y posteriores. Es un lenguaje orientado a objetos basado en JavaScript. Los script son mini programas que, en este caso el reproductor o el navegador, interpretan (lenguaje interpretado) sin necesidad de compilar como en otros programas C++, Java, etc.

Como todo lenguaje de programación ActionScript requiere cierto tiempo de aprendizaje...pero no nos asustemos...!, vamos a empezar con scripts muy sencillos que nos permitan trabajar directamente sobre la película (reproducir, parar, etc.) Una cosa más, tenemos que tener en cuenta que estos scripts solo pueden aplicarse a símbolos (botones y clips de película) y a fotogramas.

Lo primero que tenemos que hacer es planificar lo que queremos realizar (parece una tontería, pero esto nos va a ahorrar mucho tiempo a la hora de confeccionar nuestro código) y después empezar a programar lo planificado. Por último decir, que como otros lenguajes de programación, ActionScript posee Variables (contenedores de información), operadores (combinan, comparan o modifican valores), Objetos predefinidos (como el objeto MovieClip, Mouse,Date, etc. nos vamos a centrar en ellos, aunque podremos construir objetos nuevos), funciones, propiedades y métodos.

 
Empezamos. Play y Stop  


Imaginemos que trabajamos en una película en la que tenemos una interpolación de movimiento, pero en este caso, queremos que la película se detenga en varios fotogramas y a través de un botón,para que la película se reproduzca cuando nosotros queramos.

Comenzamos en una capa (que llamaremos botón) de una película nueva, diseñamos un botón con sus cuatro estados (reposo, sobre, abajo y acierto), en la línea de tiempo principal, seleccionamos el fotograma 12 y con F5 creamos fotogramas idénticos, seleccionamos dicho botón y desde el lanzador pulsamos Mostrar acciones, en acciones básicas, hacemos doble clic sobre Play, en la pantalla de acciones aparecerá:
on (press) {
  play ();
}

Si nos ponemos sobre la línea on (press) {   aparecerá en la parte inferior del panel acciones, una serie de botones seleccionables como: press, release, etc... Esto quiere decir que el controlador on (mouseEvent) dispone de esas opciones y por lo tanto podríamos elegir uno o varios eventos que disponemos para desencadenar esa acción. Nos quedamos con press.

Volvemos a la película, cerramos el panel acciones y en una nueva capa que se llamará animación, creamos una interpolación de movimiento de, por ejemplo, un rectángulo que se mueva por el escenario, que abarcará hasta el fotograma 12. En una nueva capa que llamaremos acciones y que situaremos al fondo de las capas, en el fotograma 1 añadimos un cuadro clave vacío F7, lo seleccionamos (el fotograma) y abrimos de nuevo el Panel acciones y en acciones básicas, elegimos stop, esto hará que se detenga la película en el primer fotograma.

Añadimos otro fotograma clave vacío en el fotograma 5 y 12, repitiendo los pasos anteriores (elegimos stop). Ahora vamos a probar la película, pulsamos enter+control
y ... vemos que funciona...!

Ya hemos visto como funcionan las acciones stop y play

Go to

En la misma película anterior vamos a probar otra acción, para ello eliminamos la capa acciones y crearemos una nueva que llamaremos igual. En el fotograma 12 creamos un fotograma clave vacío y en el panel acciones elegimos Go to, en cuadro de opciones del panel acciones, seleccionamos en Frame, 5 y desactivamos la casilla Go To And Play con lo que nos queda:
gotoAndStop (5);

Probamos la película y observamos que la película cuando llega al final salta al fotograma 5 y se para, si apretamos el botón que tenemos en el escenario se reproduce la película pero solo desde el fotograma 5.

Ahora volvemos al escenario y seleccionamos el botón, abrimos el panel de acciones y borramos la acción Play con el botón "-"; nos vamos a acciones básicas y arrastramos Go to, para empezar la película desde el fotograma 1 y reproducir, nos quedará:
on (release) {
gotoAndPlay (1);
}
Probamos la película.
¡Ya hemos aprendido a manejar, los controles básicos de la película!

 
Stop All Sounds  


Imaginemos que en la película, anterior hemos metido en un fotograma una música machacona que mola ..., pero que al cabo de un rato cansa, pues vamos a añadir un botón, en la capa botones que en el estado sobre, ponga Quitar sonido. Lo seleccionamos y en el panel acciones hacemos doble clic en Stop All Sounds y nos quedará el código:
on (release) {
stopAllSounds ();
}

Probamos la película y al pulsar el botón la música desaparece.

Guardamos en una carpeta y la vamos a llamas pruebas.fla.

 
Get URL  


Ahora vamos a probar en una nueva película varias acciones, para ello guardamos la película nueva como pruebas2.fla en la misma carpeta que la anterior.

Get URL es una acción que nos permite abrir una ventana de una dirección de Internet; en el cuadro de texto URL, introducimos una dirección de correo.
En Ventana, tenemos las opciones self (abre la dirección URL en la misma ventana en la que estamos trabajando) blank, abre una página en blanco, parent en el marco principal (si es que tenemos una página con marcos), Top, en el marco de arriba.

En variables, tenemos tres opciones que las dejamos para más adelante.

Así nos queda: on (release) {
getURL ("www.logosite.net", "_self");
}
Guardamos.
Esto nos abriría la página de logosite.net en la misma ventana principal del navegador.

Opciones de publicación  


Ahora vamos a configurar las opciones de publicación. Seguimos con la película anterior dentro de Flash.

En el Menú archivo-> Propiedades de publicación. Aparece un cuadro de diálogo en el que se muestran todos los archivos en los que flash puede exportar, en cada pestaña de los programas que tengamos activados, aparecen una serie de propiedades de exportar.

Pinchamos sobre la pestaña HTML y nos ponemos a jugar con las configuraciones. Por ejemplo, porcentaje al 100%, para que nuestra película se muestre en su totalidad.

Nota. Es conveniente realizar todo tipo de cambios en la configuración de nuestra película. No tengáis miedo de tocar, cuanto mas mejor...ya se sabe!

Cuando terminemos damos al botón de publicar (los archivos publicados se guardan en la misma carpeta que los habíamos guardado previamente) y con la tecla F12 (Navegador predeterminado) vemos la animación en el navegador, pulsamos el botón de la película y si estamos conectados, nos aparecerá la página web en la ventana que hallamos seleccionado en Ventana, en este caso en la misma ventana.

 
Load Movie  


Ahora vamos a editar de nuevo el botón, eliminamos las acciones de Get URL, y en el panel acciones, hacemos doble clic en Load Movie, nos situamos en la línea de LoadMovie y aparecen una serie de opciones:

URL, ahí escribimos la película en formato .swf (reproductor Flash), pruebas.swf , en location dejamos level y escribimos 1, esto es la profundidad de la capa en la película principal (En este caso se cargaría la película en dicho nivel y si hubiese otro clip en este mismo nivel, desaparecería). Y en Variables, lo dejamos como está. Nos queda:
on (release) {
loadMovieNum ("pruebas.swf", 1);
}

También podemos hacer que la película se cargue en otro "movie clip" dentro de nuestra película, para ello, en ubicación elegimos Destino, y señalamos la ruta de acceso al MClip(dentro de la película )
El MClip que se carga, tiene que estar en la misma carpeta que la película principal.
on (release) {
loadMovie ("pruebas.swf", "_root.cargaPeli");
}


Ahora nos vamos a la capa botones y editamos un nuevo botón, lo colocamos junto al otro, lo seleccionamos, abrimos el panel acciones y hacemos doble clic en Unload Movie, en Ubicación escribimos 1, nos queda:
on (release) {
unloadMovieNum (1);// o unloadMovieNum ("_root.cargaPeli");
}

y probamos la película.

El nivel 0 corresponde al nivel de la linea de tiempo principal, si en location hubiéramos puesto:
on (release) {
loadMovieNum ("pruebas.swf", 0);
}


Al pulsar sobre el botón nos eliminaría la película principal, que en Flash, a nivel de código se llama _root.

Pruébalo.

Nota. Al cargar una película con Load, esta se cargará en la pelicula principal sin ningún control, si vamos a cargar una peli en otro destino(clip de película), editar el clip padre de tal forma que quede en el eje 0,0 (_x e _y).Y editar la película hijo dándoles las dimensiones del clip padre.

With y Tell Target

Permite controlar acciones sobre otra película, por ejemplo , el alfa de otra película.
Vamos a crear una nueva película, en la cual vamos a insertar un clip de película de la biblioteca, con una interpolación de movimiento (una bola botando), seleccionamos el clip y en el panel instancia la llamaremos "bola".

Colocamos un botón en el escenario y en acciones seleccionamos Tell target; en target, escribimos "_root.bola".
En la sentencia elegimos setProperty, y _alpha. En Valor escribimos 50 y activamos la casilla Expresión, nos queda:
on (release) {
  tellTarget ("bola") {
    setProperty ("_root.bola", _alpha, 50);
  }
}


Probamos la película.

La sentencia SetProperty contiene además, mas propiedades que podemos usar de la misma manera. Pruébalas.

Tell target se ha desestimado en Flash 5 en su lugar se utiliza la sentencia with, que funciona de la misma manera que tell target:
on (release) {
  with ("bola") {
   setProperty ("_root.bola", _alpha, 50);
  }
}

Si os interesa ActionScript avanzado escribirme a actionScrip@logosite.net y si sois muchos, haré un nuevo curso.
Escribirme también para críticas, sugerencias, etc.