Unidad 16. Introducción a ActionScript 3 (VII)
Acciones - Navegador / Red
Estas acciones tiene diversas funciones, describimos
las más importantes:
- fscommand:
Esta acción, es capaz de ejecutar ciertos comandos muy potentes.
Lo más cómodo es pasar a Asistente de Script (sino estábamos
ya) e insertarla, nos aparecerá una pestaña con los posibles
comandos que admite. Sirve para interactuar con la aplicación que reproduce la película, por ejemplo Flash Player o el navegador web, como IE o Firefox. Veamos esos comandos:
- fullscreen (true o false): Si se activa pone nuestra película
a pantalla completa. Muy útil para presentaciones en CD-Rom, por
ejemplo.
- allowscale (true o false): Controla el redimensionamiento de los
objetos insertados en la película cuando el usuario estira los
bordes de la misma (o de la página web en la que se encuentre)
¿Queremos mantener las proporciones? Este comando nos permite controlarlo.
- showmenu (true o false): Si has visto el menú que
aparece al pulsar el botón derecho del ratón sobre una película
Flash, seguro que has pensado en hacerlo desaparecer ... puede que no
interese que los usuarios puedan moverse a sus anchas por nuestra película.
Ejecutando esta sentencia del modo adecuado (false), podremos ocultarlo.
- trepallkeys (true o false): Sirve para detectar las pulsaciones
de todas las teclas durante la reproducción de nuestras películas.
- exec (ruta de la aplicación): Ejecuta una aplicación desde el reproductor.
- quit (ninguno): Cierra el reproductor Flash.
Todas estas alternativas, comparten modo de uso, veámoslo:
- Sintaxis:
fscommand(comando, [argumentos])
- comando: El comando a ejecutar (fullscreen,
allowscale, etc...)
- argumentos: En la mayoría de los casos debemos escribir
true o false, según queramos desactivar la opción o activarla. Por ejemplo, en el caso del comando quit lo dejaremos vacío.
- Ejemplo:
fscommand("fullscreen", "true");
-> Activa la pantalla completa.
- navigateToURL() :
Esta acción se emplea para abrir el navegador web e ir a la página indicada.
- Sintaxis:
navigateToURL(url , [ventana]);
- url: Dirección web a la que queremos
acceder (se abrirá una ventana). Este parámetro es un objeto del tipo URLRequest. Si queremos utilizar una dirección como cadena de texto, podemos hacerlo escribiendo new URLRequest("http://www.direccion.coms").
- ventana: Parámetro OPCIONAL. Modo en
el que queremos abrir la ventana (en la ventana actual (_self) en otra
nueva (_blank) etc...).
- Ejemplo:
navigateToURL(new URLRequest("http://www.aulaclic.es"), "_blank");
--> Abre la web de aulaClic en una ventana nueva.
- load(): Este método nos permite cargar nuevas películas Flash o imágenes
en nuestra película de forma dinámica (la película
se cargará cuando se lo indiquemos, y no antes), en un objeto de la clase Loader, o cargar información en un objeto URLLoader. Para utilizarlo, primero tenemos que crear un objeto de este tipo.
- Sintaxis:
objetoCargador.load(direccion:URLRequest, [contexto]);
- direccion: Dirección absoluta o relativa donde está
situada la película SWF o la imagen a cargar. Es un objeto URLRequest, como en el caso de navigateToURL().
- contexto: Es un parámetro opcional, en el que se indica algunas propiedades más avanzadas que no veremos en este curso.
- Ejemplo:
var cargadorPeli:Loader = new Loader();
-> Creamos un objeto Loader donde cargar el archivo.
cargadorPeli:Loader.load(new URLRequest("archivo.swf"));
-> LLamamos al método load() para que cargue el archivo indicado.
Nota: Cargamos el archivo en nuestra película, pero no lo mostramos. Para verlo, tenemos que añadir el cargador a la lista de visualización, como ya veremos, por ejemplo con addChild(cargadorPeli);
.
Acciones - Condiciones
Estas acciones sirven para controlar la lógica
de la película. Se puede decir que nos permiten "hablar"
con Flash para indicarle lo que debe hacer ante distintas situaciones.
Por ejemplo, ahora que conocemos algunas Acciones, ¿Cómo
indicarle a Flash que "si la variable x = 3, entonces vaya al fotograma
5, y sino, vaya al fotograma 10"?. Sabemos comparar, sabemos ir a
los fotogramas, pero no sabemos decirle a Flash "Si pasa esto, haz
una cosa, y sino, haz la otra...". Veamos cómo decírselo:
- if ... else:
Si partimos de que la traducción literal de if es "si..."
y la de else es "si no ...", nos encontramos
de repente con todas las herramientas para decirle a Flash: "si
(pasa una condición) {haz esto} si no {haz lo
otro}"
Veamos antes que nada su sintaxis para comprenderlo mejor:
- Sintaxis:
if (condición) {sentencia_si_se_cumple; } else {sentencias_si_no; }
- if: Indica que acción que viene a continuación
entre paréntesis es una condición.
- condicion: Indica una condición que debe cumplirse, es decir, debe tener
como resultado true, o lo que es lo mismo, verdadero,
o lo que es lo mismo, 1. De ahí la importancia
de los operadores de comparación y el valor que devuelven. La condición siempre debe de ir entre paréntesis.
- sentencia_si_se_cumple;: Conjunto de acciones que sucederán
si la condición se evalúa como verdadera. Estas sentencias deben de ir entre llaves. Podemos poner el bloque de código que queramos: varias líenas, objetos, otros if...
- else: Especifica la alternativa si condición
se evalúa a falsa. Es optativo. Si no existe, y
no se cumple la condición, no se hará nada, pues no lo hemos
especificado.
- sentencias_si_no; Conjunto de acciones que sucederán
si la condición se evalúa como falsa. Deben incluirse entre llaves.
Ejemplo:
if (x == 2) {miClip.gotoAndPlay(6); } --> Si la
variable x vale 2, entonces saltamos al fotograma 6 de miClip, si no, no hacemos
nada.
if (y > 7) { stop(); } else {gotoAndPlay(1);
} --> si la variable y es mayor que 7, paramos la película,
sino, volvemos al fotograma 1.
Aunque if es la más utilizada, existen otras estructuras de control, como bucles, que podemos emplear en nuestro código. Puedes verlas en este avanzado .