Professional Documents
Culture Documents
Introducción
El ActionScript es un lenguaje de programación que crea Script (conjunto de
instrucciones de un programa). Este lenguaje crea script en Flash, con el que crear
películas con elementos interactivos. El Flash es un programa para crear
animaciones vectoriales para páginas web.
Los lenguajes de programación se usan para ponerse en contacto con el
computador enviándole y recibiendo la información de vuelta. Gracias a los
lenguajes de programación, se le puede decir a la computadora lo que esta debe
hacer, así como preguntarle por cualquier información.
El ActionScript nos ayuda a crear una película en la que el usuario pueda hacer por
ejemplo un clic con el ratón o presionar una tecla, entonces se ejecuta un
determinado Script. Como podría ser que se cargue otra película. El ActionScript
quiere conseguir que estas películas se comporten exactamente como el usuario o
programador decida.
Para conseguir que las películas se comporten como el usuario quiere no es
necesario entender todos los posibles usos de esta herramienta de creación de
Script. Si partimos de un objetivo claro podemos empezar a crear Script con
acciones sencillas para posteriormente incluir nuevas instrucciones a medida que
las vayamos aprendiendo a utilizar.
Una vez insertados los botones y definidos los eventos sobre los que deben
actuar, tendremos que decidir qué queremos que hagan.
De esta forma podremos crear dinamismo entre nuestras secciones.
Imagina que tenemos la siguiente línea de tiempo:
Observa la capa Contenido. En ella se encuentran todo el contenido de las
secciones.
De esta forma, si no aplicásemos ninguna acción sobre la línea de tiempo, todas
las secciones se ejecutarían una seguida de la otra. Lo que queremos conseguir
es que se ejecute la primera (para mostrar la sección principal) y el cabezal se
pare hasta nueva orden (para mostrar la segunda).
Para ello utilizaremos la función stop().
Esta función sirve para parar el cabezal de la línea de tiempo donde sea
colocada. Así que seleccionamos el último fotograma de la sección y abrimos
el Panel Acciones.
Allí deberemos escribir únicamente la línea:
stop();
Esto hará que cuando la animación llegue a ese punto se detendrá a espera de nueva orden.
Nosotros hemos colocado las acciones en una capa aparte llamada Acciones para así poder
acceder más rápido a ella. El método es el mismo, solamente habrá que crear fotogramas
claves en aquellos sitios en los que queramos insertar un stop().
Los botones nos ayudarán a desplazar el cabezal por la línea de tiempo. Así que
modificaremos el código de uno de los botones donde habíamos escrito:
on (release) {
on (release) {
gotoAndPlay(21);
}
ActionScript 3
import flash.events.*;
miBoton.addEventListener(MouseEvent.CLICK, miFuncion);
function miFuncion(event:MouseEvent):void
gotoAndPlay(21);
Las Escenas
Para ir a una escena o un fotograma específicos de la película, se utiliza la acción Ir
a. Cuando la película salta a un fotograma, se puede optar entre reproducirla a partir
del nuevo fotograma (predeterminado) o detenerla en el mismo. La película también
puede saltar a una escena y reproducir un fotograma especificado o el primer
fotograma de la escena siguiente o de la anterior. Para saltar a un fotograma o a
una escena:
Go to (ir a) explicación y pasos los cuales debes seguir para hacer la escena:
1. Seleccione la instancia de fotograma, de botón o de clip de película a la que
desea asignar la acción.
2. Seleccione Ventana> Acciones para mostrar el panel Acciones.
3. En la lista de la Caja de herramientas, haga clic en la categoría Acciones
básicas para mostrar las acciones básicas, y seleccione la acción Ir a.
4. Flash inserta la acción Ir a y reproducir en la ventana Script.
5. Para que la película siga reproduciéndose tras el salto, mantenga
seleccionada la opción Ir a y reproducir (predeterminada) en la sección
Parámetros. Para detener la película en un fotograma especificado, anule la
selección de Ir a y reproducir.La acción cambia a Ir a y detener.
6. En el menú emergente Escena de la sección Parámetros, especifique la
escena de destino: Puede especificar la escena actual o una escena
indicada, o siguiente o anterior para que la película salte al primer fotograma
de la escena.
7. En el menú emergente Tipo de la sección Parámetros, especifique un
fotograma de destino.
8. Fotograma siguiente o anterior.
9. Seleccione Número de fotogramas, Etiqueta de fotograma o Expresión para
especificar un fotograma. Una expresión es cualquier parte de una sentencia
que genera un valor, como 1+1.
10. Si selecciona Número de fotogramas, Etiqueta de fotograma o Expresión en
el paso 6, para Fotograma, introduzca el número de fotograma, la etiqueta o
una expresión que calcule un número de fotograma o una etiqueta.
La siguiente sentencia indica el fotograma situado cinco fotogramas por delante del
fotograma que contiene la acción:
gotoAndStop(_currentframe + 5);
STOP:
Stop (alto) información y pasos:
A menos que se indique lo contrario, una vez que se inicia una película se
reproduce por todos los fotogramas de la Línea de tiempo. Puede detener e iniciar
una película a intervalos específicos mediante las acciones Reproducir y Detener.
Por ejemplo, puede detener una película al final de una escena antes de continuar
con la siguiente escena. Una vez detenida, una película debe iniciarse de nuevo
de forma explícita, mediante la acción Reproducir.
Reproducir y Detener se utilizan por lo general para controlar los clips de películas
con botones o para controlar la Línea de tiempo principal. El clip de película que
desea controlar debe tener un nombre de instancia, un destino asignado y debe
estar presente en la Línea de tiempo.
Algunas acciones simples:
Propiedad Descripción
stop(); Detener
play(); Reproducir
gotoAndStop(); Ir y detenerse
Una variable global es aquella a la que podemos acceder desde cualquier parte del proyecto.
//Código ActionScript 2
package {
///
return instancia;
Es importante declarar nuestras variables como public var para que puedan ser
accedidas desde fuera.
variablesGlobales.variables().nombreVariable
Por ejemplo:
trace(variablesGlobales.variables().miVariableTexto);
variablesGlobales.variables().miVariableNumero = 5;
LAS FUNCIONES
Una función es un conjunto de instrucciones aisladas del programa principal que cumplen
una tarea determinada y que tienen asociado un nombre o identificador.
Nombre o identificador
Tipo de retorno
Parámetros.
Nombre o identificador. Es el nombre que le damos a una función para poder referirnos a
ella, es decir para poder invocarla posteriormente las veces que la necesitemos.
Tipo de retorno. Este elemento puede o no definirse, según el propósito de la función.
Cuando se espera que una función “genere” un nuevo valor es necesario especificar el
tipo de este dato generado como el tipo de retorno, y este valor debe ser “expulsado” de
la función hacia el exterior en algún punto de ella que por lo general es en la última línea de
instrucciones de la función.
A este proceso de expulsar de la función el valor generado es conocido como retorno de la
función.
Si se desea que la función solo ejecute una serie de instrucciones sin generar un nuevo
valor, únicamente cumpliendo con las tareas que especifican las instrucciones que
encierrra, se dice que es una función de retorno vacio.
Parámetros. En algunos casos son necesarios uno o mas valores para que la función
pueda realizar sus tareas o bien para que pueda generar un nuevo valor, por ejemplo, para
crear una función que pueda determinar el area de un círculo, es necesario que “sepa” cual
es el radio de dicho círculo, entonces este dato debe enviarse a la función para que pueda
realizar las tareas necesarias para generar dicho cálculo.
Estos valores necesarios para la ejecución de la función se denominan parámetros de la
función.
Ejemplos
Los contenedores
Hay algo que hay que tener absolutamente claro. No se puede ver algo, si no esta
adentro de un contenedor. El único elemento que no necesita de esto, es el escenario. Si
no tienes esto claro, fracasaras en AS3.
addChild();
Todos los contenedores tienen un método llamado addChild que traducido es “Añadir
Niño”. Este es uno de los métodos mas importantes en AS3. En el siguiente código vamos
a crear un texto y vamos a ver como funciona addChild.
Código :
Código :
this.addChild(miTexto);
Si colocamos este código, vemos que en pantalla sale Hola @#♦*•#. Sencillo no?
Ahora Vamos a meter nuestro texto en un contenedor de tipo Sprite.
Código :
this.addChild(miContenedor); // Agregamos
Si colocamos este código veremos que aparece nuestro Hola @#♦*•# en pantalla. Como
vemos en este código, hay que agregar también los otros contenedores al escenario, si
no hacemos esto, no serán visibles.
Tipos de contenedores
Para saber todas las características de cada tipo de contenedor lo mejor es ir a la
referencia de Adobe.
swf_Loader.load(swf_descargar);
// solicita el archivo con el método load del objeto Loader
mc_destino.addChild(swf_Loader);
// el archivo "archivo_a_cargar.swf" se carga dentro del archivo
"principal.swf"
// en el movieclip llamado "mc_destino"
Cargando Información
La clase Loader de ActionScript 3.0 es una subclase de DisplayObject que se
utiliza para cargar y mostrar contenido externo. Para cargar el archivo SWF, se
utiliza el método load de la clase. El método load tiene un parámetro obligatorio:
una instancia de URLRequest con la dirección URL del contenido que debe
cargarse.
El código de ejemplo siguiente crea una instancia de Loader y carga un archivo
SWF externo denominado "myExternalMovie.swf."
1 var myLoader:Loader = new Loader(); // create a new instance of the Loader class
2 var url:URLRequest = new URLRequest("ExternalSWF.swf"); // in this case both SWFs are in the
3 same folder
myLoader.load(url); // load the SWF file
4 addChild(myLoader); // add that instance to the display list, adding it to the
5 Stage at 0,0
6
7 // (optional)
8 myLoader.x = 10; // move the loaded SWF 10 pixels to the right (from the left
9 edge)
myLoader.y = 175; // move the loaded SWF 175 pixels down from the top
10
11 // (optional) load a second external SWF file
12 var my2ndLoader:Loader = new Loader();
13 var url2:URLRequest = new URLRequest("ExternalSWF2.swf");
14 my2ndLoader.load(url2);
15 addChild(my2ndLoader); // optionally, you could put the 2nd SWF beneath
// the 1st by using addChildAt(my2ndLoader, 1);
16 // displacing the 1st SWF from position 1 to 2 in the display list
17
18 // (optional) scaling of the 2nd SWF file
19 my2ndLoader.scaleX = 2; // scale the SWF horizontally by 200%
20 my2ndLoader.scaleY = 2; // scale the SWF vertically by 200%
La URL del archivo SWF cargado puede ser relativa o absoluta. Consulte Rutas
relativas para obtener más información sobre cómo gestiona Flash Player las URL.
Para obtener más información sobre la clase Loader , consulte Loader en la
Referencia de lenguaje de ActionScript para la plataforma.
Las referencias a root, cuando están disponibles, siempre representan el objeto
de visualización de nivel más alto en la parte de la estructura de árbol de la lista de
visualización representada por dicho archivo SWF. (Para las imágenes, root hace
referencia al objeto Bitmap).
Nota: en ActionScript 3.0, no hay un equivalente para las
propiedades _lockroot ni _level de ActionScript 2.0. Consulte Fundamentos de la
programación de la visualización en la Guía del desarrollador de ActionScript 3.0.
EFECTOS SOBRE ANIMACION
Introducción
Si no te parecen suficientes las interpolaciones de forma y de
movimiento, y quieres realizar animaciones más complejas, puedes
combinar las interpolaciones de movimiento con los efectos y
transformaciones que se pueden realizar sobre los símbolos que las
componen y aplicar efectos sobre las mismas interpolaciones.
Una vez comprendidas todas las técnicas de este tema, estaremos en
disposición de realizar todo tipo de animaciones en Flash. Sólo
tendremos que poner un poco de imaginación porque, como hemos
visto y veremos, el programa nos facilitará enormemente el trabajo.
Con el panel de Propiedades podemos controlar los efectos y filtros,
pero también podemos usar el Editor de movimiento para controlar
gran parte de los efectos.
Vemos como al acercarse el avión a la luz roja del Sol, éste lo ilumina
con una luz roja.
Hemos aplicado a la instancia del avión del último fotograma de su
interpolación de movimiento un efecto de tinte rojo con una intensidad
del 60%. Lo mismo hemos hecho en el centro del Sol pero con dos
fases, poniendo en el fotograma central un efecto de tinte granate del
25%.
La corona solar es simplemente una interpolación de forma en cuatro
fases.
Efecto transparencia (Alfa)
Este es probablemente el efecto más utilizado debido a la versatilidad
del hecho de controlar el grado de visibilidad de los objetos. Podemos,
por ejemplo, simular un foco apuntando a un escenario o, lo más común,
hacer aparecer objetos de la nada y también hacer que se desvanezcan
poco a poco.