You are on page 1of 30

Creando Script con ActionScript 2.

0 [Adobe Flash CS2]

Creando Script con Actionscript 2.0


Un Script es una instrucción o una serie de instrucciones que ejecutan tareas especificas. Estas
instrucciones son líneas de código que se añaden a una instancia de un objeto de la biblioteca
(botón, clip de película, video, sonido, etc.) o a un fotograma clave.
Si dichas líneas de código se hallan dentro de una instancia del botón, estas se ejecutaran cuando el
usuario actué con dicho botón, de igual manera se ejecutará si el código se encontrase dentro de un
clip de película, etc.
En caso de estar añadidas a un fotograma clave, este se ejecutara siempre y cuando la cabecera de
reproducción de la línea de tiempo pase por dicho fotograma clave.

Panel de Acciones
Para mostrar el panel acciones debe realizar uno de los siguientes pasos:
 Seleccione menú Ventana/Acciones
 Presione F9
En cualquiera de los dos casos le mostrará la siguiente ventana:

Menú despegable
Titulo del panel acciones
Caja de herramientas de las acciones
Menú emergente

área de Script

Navegador de Script Lugar donde se coloca el Script


Importante

El lugar donde se coloca el Script es de suma importancia ya que ello nos dirá donde estamos
colocando el código.

1 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Descripción del menú emergente
Este menú emergente sólo se genera para el panel acciones.
Añadir un nuevo elemento al Script
Buscar
Ayuda
Insertar una ruta de destino

Opciones de depuración
Revisar sintaxis
Mostrar consejos para el script

Formato automático

Inserción de script a un botón


Para codificar de manera genérica un script se establecen los manejadores de eventos:

Cuando(ocurra el evento){
Ejecutar este código:
}
En este caso para los botones los eventos son:

-press ,se ejecuta al presionar el símbolo botón


-release , se ejecuta al liberar el símbolo botón
-releaseOutside , se ejecuta al liberar fuera del símbolo botón
-rollOver , se ejecuta al pasar sobre el símbolo botón
-rollOut , se ejecuta al pasar fuera del símbolo botón
-dragOver , se ejecuta al arrastrar sobre el símbolo botón
-dragOut , se ejecuta al arrastrar fuera del símbolo botón
-keyPress “<Left>” ,se ejecuta al presionar la flecha hacia la izquierda
-keyPress “<Right>” , se ejecuta al presionar la flecha hacia la derecha
-keyPress “<Home>” , se ejecuta al presionar el botón Home
-keyPress “<End>” , se ejecuta al presionar el botón End
-keyPress “<Insert>” , se ejecuta al presionar el botón Insert
-keyPress “<Delete>” , se ejecuta al presionar el botón Delete
-keyPress “<Backspace>” , se ejecuta al presionar el botón Backspace
-keyPress “<Enter>” , se ejecuta al presionar el botón Enter
-keyPress “<Up>” , se ejecuta al presionar la flecha hacia arriba
-keyPress “<Down>” , se ejecuta al presionar la flecha hacia abajo
-keyPress “<PageUp>” , se ejecuta al presionar el botón PageUp
-keyPress “<PageDown>” , se ejecuta al presionar el botón PageDown
-keyPress “<Tab>” , se ejecuta al presionar el botón Tab
-keyPress “<Escape>” , se ejecuta al presionar el botón Esc
-keyPress “<Space>” , se ejecuta al presionar la barra de desplazamiento

Por ejemplo dibuje un objeto (por ejemplo rectángulo), selecciónelo y haga clic derecho con el
mouse

2 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

mostrándose el siguiente mensaje

seleccionando la opción Botón como se muestra. A continuación presione F9 y escriba el siguiente


código:

Nótese que el lugar donde se coloca el script muestre la siguiente figura:

Importante

Siempre un botón empezará con la acción on.

Inserción de script a un fotograma


Para insertar script a un fotograma es simple, porque lo único que debemos buscar es que el
fotograma sea un fotograma clave, si no es así no le permitirá insertar un script.

Por ejemplo seleccione el fotograma (es decir haga clic sobre el) al que desea insertarle un script.y
conviértalo en fotograma clave (F6).

fotograma clave vacío

3 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Ahora inserte el siguiente script en el área de script

Cuando haya insertado el script el fotograma se notara en la línea de tiempo así:

fotograma con script

es recomendable que a un fotograma se le asigne un rótulo (nombre), para su mejor identificación,


el cual lo notara en la línea de tiempo así:

fotograma con rótulo

Nótese que el lugar donde se coloca el script muestre la siguiente figura

Control de la línea de tiempo


Para poder ver estas acciones debemos ubicarnos en la caja de las herramientas de las acciones ,
hacer clic en Funciones globales y elegir Control de la línea de tiempo ,dentro de ella se muestra
las diferentes acciones, tal como los analizaremos:

stop(),Detiene el archivo SWF que se está reproduciendo. El uso más común de esta acción es
controlar clips de película mediante botones. Esta acción no requiere parámetros.

play(), Mueve la cabeza lectora hacia delante en la línea de tiempo, es decir, si una animación esta
detenida esta acción hace que empiece a reproducirse. Esta acción no requiere parámetros.

gotoAndPlay(), Envía la cabeza lectora al fotograma especificado en una escena y reproduce


desde dicho fotograma. Si no se especifica ninguna escena, la cabeza lectora se desplaza al
fotograma especificado de la escena actual. Puede utilizar el parámetro scene únicamente en la línea
de tiempo de raíz, no en las líneas de tiempo de los clips de película u otros objetos del documento.
Esta acción si requiere parámetros obligatoriamente.

Sintáxis

gotoAndPlay([scene:Cadena], fotograma:Objeto)

4 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Parámetros

scene:Cadena [opcional] - Una cadena que especifica el nombre de la escena a la que se envía la
cabeza lectora.

fotograma:Objeto - Número que representa el número de fotograma o la cadena que representa el


rótulo del fotograma al que se envía la cabeza lectora.

gotoAndStop(), Envía la cabeza lectora al fotograma especificado en una escena y la detiene. Si


no se ha especificado ninguna escena, la cabeza lectora se envía al fotograma de la escena actual.
Puede utilizar el parámetro scene sólo en la línea de tiempo raíz, no en las líneas de tiempo de los
clips de película u otros objetos del documento. Esta acción si requiere parámetros
obligatoriamente.

Sintáxis

gotoAndStop([scene:Cadena], fotograma:Objeto)

Parámetros

scene:Cadena [opcional] - Una cadena que especifica el nombre de la escena a la que se envía la
cabeza lectora.

fotograma:Objeto - Número que representa el número de fotograma o la cadena que representa el


rótulo del fotograma al que se envía la cabeza lectora.

nextFrame(), Envía la cabeza lectora al siguiente fotograma. Esta acción no requiere parámetros.

prevFrame(), Envía la cabeza lectora al fotograma anterior. Si el fotograma actual es el


fotograma 1, la cabeza lectora no se mueve..Esta acción no requiere parámetros.

nextScene(),Envía la cabeza lectora al fotograma 1 de la siguiente escena.Esta acción no requiere


parámetros.

prevScene(),Envía la cabeza lectora al fotograma 1 de la escena anterior..Esta acción no requiere


parámetros.

stopAllSound(),Detiene todos los sonidos que se están reproduciendo en un archivo SWF sin
detener la cabeza lectora. Se reanudará la reproducción de los sonidos que deben transmitirse
mientras la cabeza lectora se mueve sobre los fotogramas donde se encuentran.

Ejemplo
Desarrollar un ejercicio el cual permita manejar la línea de tiempo mediante 3 botones.

Solución
Abrimos un nuevo documento de dimensiones 400x400, escogemos el color de fondo de su agrado.
Renombramos la capa1 por auto1 y la capa2 por auto2, como se muestra

5 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

En la capa auto1 dibujar un automóvil el cual tiene una interpolación de movimiento desde el
fotograma “auto1” hasta el fotograma 26 y en la capa auto2 dibujar un automóvil a partir del
fotograma “auto2” hasta el fotograma 50, como se muestra

Ahora en el fotograma 1 colocar la acción stop(); en el fotograma 25 colocar la acción


gotoAndPlay(“auto1”); y en el fotograma 50 colocar la acción gotoAndPlay(“auto2”); debe crear
3 botones como se muestra

Asigne los siguientes códigos a los botones auto1, ir al inicio y auto2, en ese orden

Acciones de Navegador/Red
fscommand(),Permite que el archivo SWF se comunique con Flash Player o con el programa que
aloja Flash Player, por ejemplo, un navegador Web. También es posible utilizar la función
fscommand() para pasar mensajes a Macromedia Director o a Visual Basic (VB), Visual C++ y
otros programas que puedan alojar controles ActiveX.

La función fscommand() permite que un archivo SWF se comunique con un script en una página
Web.

6 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Sintaxis

fscommand(commando:Cadena, parámetros:Cadena)

Los valores de estos comandos y parámetros se muestran en una tabla siguiente:

Dejar la tabla igual que la página 104 inclusive el ejemplo dado

getURL(), Carga un documento de una URL específica en una ventana o pasa variables a otra
aplicación en una URL definida. Para probar esta función, asegúrese de que el archivo que se va a
cargar se encuentra en la ubicación especificada. Para utilizar una URL absoluta (por ejemplo,
http://www.cevatec.edu.pe), se necesita una conexión de red.

Sintaxis

getURL(url:Cadena, [window:Cadena, [metodo:Cadena]])

Parámetros

url:Cadena - URL del cual se obtiene el documento.

window:Cadena [opcional] - Especifica la ventana o marco HTML donde debería cargarse el


documento. Puede introducir el nombre de una ventana específica o seleccionarlo de entre los
siguientes nombres de destino reservados:

 _self especifica el fotograma actual en la ventana actual.


 _blank especifica una nueva ventana.
 _parent especifica el elemento principal del fotograma actual.
 _top especifica el fotograma de nivel superior de la ventana actual.

metodo:Cadena [opcional] - Un método GET o POST para enviar variables. Si no hay ninguna
variable, omita este parámetro. El método GET añade las variables al final de la URL y se utiliza
para números reducidos de variables. El método POST envía las variables en un encabezado HTTP
independiente y se utiliza para enviar cadenas de variables largas.

Ejemplo:

loadMovie(),Carga un archivo SWF, JPEG, GIF o PNG en un clip de película en Flash Player
mientras se reproduce el archivo SWF original. En Flash Player 8 se ha añadido compatibilidad con
archivos GIF no animados, archivos PNG y archivos JPEG progresivos. Si carga un archivo GIF
animado, sólo se mostrará el primer fotograma.

La función loadMovie() permite mostrar varios archivos SWF simultáneamente y cambiar entre
archivos SWF sin cargar otro documento HTML. Sin la función loadMovie(), Flash Player
muestra un solo archivo SWF.

7 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Sintaxis

loadMovie(url:Cadena, target:Objeto, [metodo:Cadena])


loadMovie(url:Cadena, target:cadena, [metodo:Cadena])

Parámetros

url:Cadena - URL absoluto o relativo del archivo SWF o JPEG que se va a cargar. Una ruta
relativa debe ser relativa al archivo SWF en el nivel 0. Las URL absolutas deben incluir la
referencia al protocolo, como http:// o file:///.

target:Objeto - Referencia a un objeto de clip de película o a una cadena que representa la ruta de
acceso a un clip de película de destino. El clip de película de destino se sustituye por el archivo
SWF o la imagen que se carga.

metodo:Cadena [opcional] - Especifica un método HTTP para enviar variables. El parámetro debe
ser la cadena GET o POST. Si no hay ninguna variable para enviar, omita este parámetro. El método
GET añade las variables al final de la URL y se utiliza para números reducidos de variables. El
método POST envía las variables en un encabezado HTTP independiente y se utiliza para cadenas de
variables largas.

Ejemplos

1. El ejemplo siguiente carga el archivo SWF circulo.swf desde el mismo directorio y reemplaza un
clip de película llamado micuadrado que ya existe en el escenario:

loadMovie("circulo.swf", micuadrado);

es equivalente a usar:
loadMovie("circulo.swf", _level0.micuadrado);
loadMovie("circulo.swf", "micuadrado");

2. El ejemplo siguiente carga el archivo SWF circulo.swf desde el mismo directorio, pero reemplaza
el clip de película principal en lugar del clip micuadrado:

loadMovie("circulo.swf", this);

es equivalente a usar

loadMovie("circulo.swf", "_level0");

3. La siguiente sentencia loadMovie() carga el archivo SWF circulo.swf desde el mismo directorio
en un clip de película nuevo llamado logo_mc que se crea empleando createEmptyMovieClip():

this.createEmptyMovieClip("logo_mc", 999);
loadMovie("circulo.swf", logo_mc);

loadMovieNum(),Flash Player tiene un orden de apilamiento de niveles a partir del nivel 0.


Estos niveles son como capas de acetato: son transparentes, excepto en los objetos de cada nivel.
Cuando utilice loadMovieNum(), debe especificar un nivel en Flash Player donde se cargará el
archivo SWF. Cuando se carga un archivo SWF en un nivel, puede utilizar la sintaxis _level N ,
donde N es el número de nivel, para buscar el archivo SWF.

8 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Cuando cargue un archivo SWF, puede especificar cualquier número de nivel y puede cargar
archivos SWF en un nivel que ya tenga un archivo SWF cargado. De esta forma, el nuevo archivo
SWF sustituirá al archivo SWF existente. Si carga un archivo SWF en el nivel 0, se descargarán
todos los niveles de Flash Player y se sustituirá el nivel 0 por el nuevo archivo.

Sintaxis

loadMovieNum(url:Cadena, level:Número, [metodo:Cadena])

level:Número - Entero que especifica el nivel de Flash Player en el que se cargará el archivo SWF.

Ejemplo

El ejemplo siguiente carga la imagen JPEG image1.jpg en el nivel 2 de Flash Player:

loadMovieNum("http://www.helpexamples.com/flash/images/image1.jpg", 2);

unLoadMovie(), Elimina un clip de película que se cargó mediante loadMovie() desde Flash
Player. Para descargar un clip de película cargado mediante loadMovieNum(), use
unloadMovieNum() en lugar de unloadMovie().

Sintaxis

unloadMovie(target:ClipdePelícula)
unloadMovie(target:Cadena)

Parámetros

target:Objeto - Ruta de destino de un clip de película. Este parámetro puede ser una cadena (por
ejemplo, "my_mc") o una referencia directa a la instancia de clip de película (por ejemplo, my_mc).
Los parámetros que pueden aceptar más de un tipo de datos se engloban en el tipo Objeto.

Nota

En el caso de unloadMovieNum() hay que especificar el nivel donde se cargo la película

tellTarget(), Aplica las instrucciones especificadas en las sentencias a la línea de tiempo


especificada en el parámetro target . La acción tellTarget() resulta útil para los controles de
navegación. Asigne tellTarget() a botones que detengan o inicien clips de película en otros
lugares del escenario. También puede hacer que los clips de película pasen a un determinado
fotograma de ese clip. Por ejemplo, puede asignar tellTarget() a botones que detienen o inician
clips de película en el escenario o que hacen que clips de película pasen a un determinado
fotograma.

Esta acción tellTarget() ya esta desfasada pero todavía tiene su uso, aunque desde Flash 5 o
versiones posteriores, puede utilizar la notación de puntos (.) en lugar de la acción tellTarget().
Puede utilizar la acción with para emitir múltiples acciones en la misma línea de tiempo. Puede
utilizar la acción with para referirse a cualquier objeto, mientras que la acción tellTarget() sólo
puede referirse a clips de película.

9 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Ejemplo
Cree un símbolo clip de película

y asígnele un nombre de instancia denominado circulo

Dentro del clip de película miClip cree una interpolación de movimiento (puede ser otra), por
ejemplo de 30 fotogramas, al primer fotograma asígnele la acción stop().

note que tiene la acción stop()

Ahora cree un botón y colóquelo en la parte inferior del símbolo

Asigne el siguiente código al botón

10 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

Finalmente Ctrl.+Enter.

Variables
Cuando se declara una variable por primera vez, se recomienda asignarle un valor. La asignación de
un valor inicial se conoce como inicializar la variable, acción que normalmente se realiza en el
fotograma 1 de la línea de tiempo o desde dentro de una clase que se carga cuando el archivo SWF
comienza a reproducirse.

Introducción de datos
Para insertar datos en flash debemos trabajar con introducción de texto

y para mostrar datos ya sea de una carga de dato externo o una evaluación de una operación de
variables se debe utilizar texto dinámico. En ambos casos es necesario asignarle un nombre de
instancia

nombre de la caja de texto

Ejemplo
Cree un nuevo documento de 300x200px y cree tal como se muestra:

Texto estático
Texto estático

Texto dinámico

Botones

11 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Los nombres de instancias son en ese orden texto1, texto2, texto3.
Asigne el siguiente código para el primer botón

Asigne el siguiente código para el siguiente botón

trace(), es un depurador que nos brinda Flash para poder manejar el trabajo con variables, su uso
de importancia porque nos sirve como un compilador y poder verificar donde ocurre el error.

Number(),Convierte el parámetro expression en un número y devuelve un valor.

Sintaxis
Number(expression) : Number

parseInt(), . Convierte una cadena en un entero. Si la cadena especificada en los parámetros no


puede convertirse en un número

Sintaxis
parseInt(expression:Cadena) : Number

parseFloat(),Convierte una cadena en un número de coma flotante.

Sintaxis

parseFloat(string:Cadena) : Number

isNaN(),Evalúa el parámetro y devuelve true si el valor es NaN (no es un número). Esta función es
útil para comprobar si una expresión matemática da como resultado un número.

Sintaxis

isNaN(expression:Objeto) : Boolean

12 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
loadVariables(), Lee datos de un archivo externo, como un archivo de texto o texto generado por
ColdFusion, un script CGI, páginas Active Server (ASP), script PHP o Perl, y establece los valores
de las variables en un clip de película de destino. Esta acción se puede utilizar además para
actualizar las variables del archivo SWF activo con nuevos valores.
Sintaxis

loadVariables(url:Cadena, target:Objeto, [method:Cadena])

loadVariablesNum(),Si desea cargar variables en un nivel específico.

Sintaxis

loadVariablesNum(url:Cadena, level:Número, [method:String])

Ejemplo

El ejemplo siguiente carga información desde un archivo de texto llamado params.txt en el clip de
película target_mc que se crea utilizando createEmptyMovieClip().. El script busca en el
archivo params.txt una variable denominada valor. En el primer fotograma coloque el siguiente
script.

this.createEmptyMovieClip("target_mc",1);
loadVariables("params.txt", target_mc);
trace(target_mc.valor);

El archivo externo, params.txt, incluye el texto siguiente:

var1="hello"&var2="goodbye"&valor="nada en especial"

De manera similar se utiliza la acción loadVariablesNum(), sólo que hay que extraerlo de un nivel..

Creación de una barra de desplazamiento


Existen varios métodos para crear texto desplazable en Flash. Puede permitir el desplazamiento en
los campos de texto dinámico y de introducción de texto seleccionando la opción Desplazamiento
permitido del menú Texto o del menú contextual o haciendo doble clic en el selector del campo con
la tecla Mayús presionada.

Puede utilizar las propiedades scroll y maxscroll del objeto TextField para controlar el
desplazamiento vertical, y las propiedades hscroll y maxhscroll para controlar el desplazamiento
horizontal en un campo de texto. Las propiedades scroll y hscroll especifican las posiciones de
desplazamiento vertical y horizontal actuales respectivamente; puede leer y escribir estas
propiedades. Las propiedades maxscroll y maxhscroll especifican respectivamente las posiciones
de desplazamiento vertical y horizontal máximas; estas propiedades son de sólo lectura.

Crearemos un texto dinámico denominado mitexto (nombre de instancia), de un color negro. Debajo
de el un rectángulo de color verde.

Además necesitamos 2 botones para que sirvan de desplazamiento, tal como se muestra:

13 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

texto dinámico
asignemos el siguiente código al primer fotograma
mitexto.text=”este es mí país y nadie me va a sacar de aquí, por que yo si se lucha”;
mitexto.text+=mitexto.text;

el código para el botón hacia arriba y hacia abajo son respectivamente:

Sentencias condicionales
Sentencia if()/else if, Evalúa una condición para determinar la siguiente acción en un archivo SWF.
Si la condición es true, Flash ejecuta las sentencias que hay entre llaves {}, a continuación de la
condición. Si la condición es false, Flash omite las sentencias entre llaves y ejecuta las sentencias
que hay a continuación. Utilice la sentencia if junto con las sentencias else y else if para crear una
lógica ramificada en los scripts.

Las llaves {} que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia
if no son necesarias si sólo se va a ejecutar una sentencia.

Sintaxis

if(condition) {
sentencia(s);
}else{
sentencia(s);
}

bucles,
los cuales pueden ser de:

sentencia for(),Evalúa la expresión init (inicializar) una vez y, a continuación, inicia una secuencia
de reproducción indefinida. La secuencia de reproducción indefinida se inicia evaluando la
expresión condition . Si la expresión condition da como resultado true, se ejecuta statement y se
evalúa la expresión next . La secuencia de reproducción indefinida se inicia nuevamente con la
evaluación de la expresión condition .

Las llaves {} que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia
for no son necesarias si sólo se va a ejecutar una sentencia.

14 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Sintaxis

for(init; condition; next) {


statement(s);
}
sentencia while(),Evalúa una condición y, si ésta da como resultado true, ejecuta una sentencia o
serie de sentencias antes de volver a ejecutar el bucle para evaluar la condición nuevamente.
Después de que la condición dé como resultado false, se omite la sentencia o serie de sentencias y
finaliza el bucle.

La sentencia while ejecuta la siguiente serie de pasos. Cada repetición de pasos del 1 al 4 se
denomina repetición del bucle. Al principio de cada repetición se vuelve a probar la condición
condition , tal y como se muestra en los siguientes pasos:

 Se evalúa la expresión condition.


 Si condition da como resultado true o un valor que se convierte en el valor booleano true,
por ejemplo, un número distinto de cero, vaya al paso 3. De lo contrario, se completa la
sentencia while y se reanuda la ejecución en la sentencia que hay a continuación del bucle
while.
 Ejecute el bloque de sentencias statement(s).
 Vaya al paso 1.

Sintaxis

while(condition) {
sentencia(s);
}
Sentencia do..while, Similar al bucle while, con la diferencia de que las sentencias se ejecutan una
vez antes de la evaluación inicial de la condición. Las sentencias a continuación sólo se ejecutan si
la condición da como resultado true.

Un bucle do..while garantiza que el código dentro del bucle se ejecutará al menos una vez. Aunque
esto también puede realizarse con un bucle while colocando una copia de las sentencias que se van
a ejecutar antes de que se inicie el bucle while, muchos programadores creen que es más fácil leer
los bucles do..while.

Si la condición da siempre como resultado true, el bucle do..while es infinito. Si se introduce un


bucle infinito, habrá problemas con Flash Player y finalmente se obtendrá un mensaje de
advertencia o se bloqueará el reproductor. Siempre que sea posible, utilice un bucle for si sabe el
número de veces que desea ejecutar el bucle. Aunque es fácil leer y depurar los bucles for, no
siempre pueden sustituir a los bucles do..while.

Sintaxis

do {

sentencia(s)

} while (condition)

15 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Sentencia switch(), Crea una estructura ramificada para sentencias de ActionScript. Al igual que la
sentencia if, la sentencia switch prueba una condición y ejecuta sentencias si la condición devuelve
un valor true. Todas las sentencias switch deberían incluir un caso predeterminado. El caso
predeterminado debería incluir una sentencia break para evitar un error de paso al siguiente caso si
se añade posteriormente otro caso. Cuando se pasa al siguiente caso, no se incluye una sentencia
break.

Sintaxis

switch (expression){
caseClause:
[defaultClause:]
}

Sentencia break, Aparece en un bucle (for, for..in, do..while owhile) o en un bloque de sentencias
asociadas con un determinado caso de una sentencia switch. Cuando se utiliza en un bucle, la
sentencia break ordena a Flash que omita el resto del cuerpo del bucle, detenga la acción de bucle y
ejecute la sentencia a continuación de la sentencia de bucle. Cuando se utiliza en una sentencia
switch, la sentencia break ordena a Flash que omita el resto de sentencias en ese bloque de
sentencias case y que salte a la primera sentencia que vaya a continuación del bloque switch.
Sintaxis
break;

Jerarquía de los clips de películas


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 bolita que hace referencia al símbolo botón simbolo3
usa la ruta absoluta _root.bolita.simbolo3

El primer documento que se abre en Flash Player se carga en el nivel 0. Debe asignar un número de
nivel a cada documento adicional que se cargue. 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.

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 especifica una línea de tiempo en _level5 como destino.
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

16 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
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.

Programación de rutas de destino

Para controlar un clip de película, una película cargada o un botón, es preciso especificar 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).

Ejemplo 1
Vamos a desarrollar el siguiente ejemplo, para ello dibuje como se muestra:

Donde los dos primeros campos de texto son de introducción de texto, instanciados como texto1,
texto2.
Los siguientes dos son campos de texto pero dinámico cuyas instancias son: texto3 y texto4.
El código para el primer botón es:

17 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Ejemplo 2
Vamos a mejorar el ejemplo anterior ahora, solo colocaremos componentes, para ello vamos a
menú Ventana/componentes (Control+F7)

Vamos a insertar alguno de los componentes la idea es la misma para cualquiera de los
componentes y seleccionamos y lo arrastramos a nuestro escenario.

Debemos colocar los datos


tanto en [data] como en
[label], aunque en data
podemos elegir diferente

18 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

Colocamos nombre de instancia a cada uno de nuestras componentes, como se muestra en la


imagen anterior.

El código a colocar en el botón Aceptar será:

El código a colocar en el botón Cancelar será:

FUNCIONES
Flash tiene muchas funciones predefinidas, el cual se muestra a continuación:

Además podemos crear nuestras propias funciones, veamos como:

Sintaxis
function nombre_funcion(ingreso de datos [opcional]){
//sentencia de la función
}

19 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Ejemplo
Cree un nuevo documento de 300x400, dibujar un botón y dos textos dinámicos instanciados con
los nombres: muestra y valor. El código a colocar en el botón está en la segunda figura.

Observación

Si se coloca el comando Math delante de la función random se obtendrá números que varía
desde 0 hasta 1.

startDrag()

Se utiliza para poder arrastrar un clip de película, el cual maneja la siguiente sintaxis

Sintaxis

startDrag( fuente ,[bloqueo,izquierda,superior,derecha,abajo] )

stopDrag()

Se utiliza para detener el arrastre generado por startDrag() , su sintaxis es:

Sintaxis
stopDrag()

Ejemplo
Crearemos un nuevo documento de dimensiones 500x400px en cual dibujaremos un circulo al cual
le convertiremos en un símbolo botón (hay que instanciarlo con el nombre objeto) además le
colocaremos el siguiente código dentro del botón.

hitTest()

Evalúa el clip de película para comprobar si se superpone o corta con el área activa de otro clip de
película.

20 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Sintaxis

mc_clip1.hitTest(mc_clip2):Boolean;

Evalúa los recuadros de delimitación del destino (mc_clip2) y la instancia especificada mc_clip1 y
devuelve true si se solapan o cortan en algún punto, caso contrario false.

Ejemplo
Primero crearemos un nuevo documento de dimensiones 300x400px, ahora crearemos dos clips de
película denominados bolita y cuadradito como se muestra, recuerde estos nombres son nombres de
instancia

nombre de instancia

Ahora al clip de película bolita hacer doble clic, ingresaras dentro del clip, al objeto seleccionado
conviértalo en símbolo botón
Clip de película (bolita)

Símbolo botón

21 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Dentro del símbolo botón colocar el siguiente código

Ya está finalizado nuestro ejercicio, haga Control +Enter

Eventos de los clips de películas


Para controlar los clips de películas tal como se realizan con los botones debemos utilizar la acción
onClipEvent.

Sintaxis

onClipEvent(evento){
sentencias;
}

Nota
Tenga presente que este código se debe efectuar dentro del clip de película

Importante fijarse aquí (instancia clip de película)

22 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
Los eventos para tener presente son:

load (cargar), este evento se ejecuta cuando el clip se ha cargado.


unload (Descargar), este evento se ejecuta después de la descarga.
enterFrame (pasar por fotograma), este evento se ejecuta cada vez que pase por el fotograma.
mouseDown (hacer clic), este evento se ejecuta al realizar clic con el mouse.
mouseUp (soltar clic), este evento se ejecuta al soltar el clic del mouse.
mouseMove (mover mouse), este evento se ejecuta al realizar un movimiento con el mouse.
keyDown (presionar tecla), este evento se ejecuta al presionar una tecla determinada.
keyUp (liberar tecla), este evento se ejecuta al dejar de presionar una tecla determinada.
data (datos), este evento ocurre cuando se reciben datos de una acción loadVariables o loadMovie.

duplicateMovieClip()
Esta acción crea una instancia de un clip de película durante la reproducción del archivo SWF de
manera dinámica. En los clips de película duplicados, la cabeza lectora siempre empieza en el
fotograma 1, independientemente del lugar en el que se encuentre la cabeza lectora del clip de
película original. Las variables del clip de película original no se copian en el clip de película
duplicado

Sintaxis

duplicateMovieClip(destino:Objeto,nuevoNombre:Cadena,profundidad:número);

Parámetros

destino - la ruta de destino del clip de película que se va a duplicar. Este parámetro puede ser una
cadena (por ejemplo, "mi_clip") o una referencia directa a la instancia de clip de película (por
ejemplo, mi_clip). Los parámetros que pueden aceptar más de un tipo de datos se engloban en el
tipo Objeto.

nuevoNombre - identificador exclusivo del clip de película duplicado.

profundidad - nivel de profundidad exclusivo del clip de película duplicado. El nivel de


profundidad es el orden de apilamiento de los clips de película duplicados. Debe asignar a cada clip
de película duplicado un nivel de profundidad exclusivo para evitar la sustitución de archivos SWF
en niveles de profundidad ocupados.

removeMovieClip()
Esta acción elimina un clip de película especificado de manera dinámica.

Sintaxis

removeMovieClip(destino:Objeto);

Parámetros

destino - la ruta de destino de una instancia de clip de película creada con duplicateMovieClip().

23 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
attachMovie()
Esta acción localiza un símbolo de la biblioteca y lo asocia al clip de película de manera dinámica.

Sintaxis

attachMovie(id:Cadena,nuevoNombre:Cadena,profundidad:número,inicial:Objeto);

Parámetros

id - nombre de vinculación del símbolo de clip de película de la biblioteca que va a asociarse a un


clip de película del escenario. Es el nombre de instancia del cuadro de diálogo Propiedades de
vinculación.

nuevoNombre - nombre de instancia exclusivo del clip de película que va a asociarse al clip de
película.

profundidad - nivel de profundidad en el que está situado el archivo SWF.

inicial – (opcional) objeto que contiene propiedades con las que rellenar el clip de película recién
asociado. Este parámetro permite a los clips de película creados dinámicamente recibir parámetros
de clip. Si inicial no es un objeto, se omite. Todas las propiedades de inicial se copian en la
nueva instancia. Las propiedades especificadas con inicial están disponibles para la función
constructora.

Ejemplo

Vamos a crear un nuevo documento de 500x500px, ahora se crea un nuevo clip de película con el
nombre mi_clip, además colocamos el siguiente código en el primer fotograma de la escena

1er fotograma de la escena

Se carga un duplicado del clip mi_clip, este clip duplicado se llama mi_clip1 el cual mantiene sus
mismas propiedades y código (si los hubiese), pero esta se superpone a la original, es por ello se le
ha agregado el código anterior (startDrag() y stopDrag()); después de ejecutar (CTRL.+ ENTER) y
arrastrar el clip se mostrará así:

24 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

createEmptyMovieClip ()
Crea un clip de película vacío como elemento secundario de un clip de película existente. Este
método se comporta de forma similar al método attachMovie(), aunque no es necesario
proporcionar un identificador de vinculación externo para el nuevo clip de película. El punto de
registro de un clip de película vacío recién creado es la esquina superior izquierda. Este método
falla si falta cualquiera de los parámetros.

Sintaxis

createEmptyMovieClip(nombre:Cadena, profundidad:Numero);

Parámetros

nombre - cadena que identifica el nombre de instancia del nuevo clip de película.
Profundidad - entero que especifica la profundidad del nuevo clip de película.

Propiedades de Flash

Las propiedades predefinidas de Flash, son propiedades de los objetos, fotogramas, clips, mouse,
etc. Estas propiedades pueden modificarse dinámicamente, es decir, mientras la película se está
reproduciendo.

SetProperty()
Esta acción cambia un valor de propiedad de un clip de película durante la reproducción del clip de
película.

Sintaxis

setProperty(destino:cadena, propiedad:Objeto, expresión:Cadena)

Parámetros

destino - ruta al nombre de instancia del clip de película cuya propiedad va a establecerse.
propiedad - propiedad que va a establecerse.
expresión- el nuevo valor literal de la propiedad o una ecuación que da como resultado el nuevo
valor de la propiedad.

Ejemplo
El código ActionScript siguiente crea un clip de película nuevo y carga una imagen en él. Se
establecen las coordenadas _x e _y para el clip utilizando setProperty().

25 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

colocar en el 1er fotograma

Cuando lo ejecuten resultara así:

Todas las propiedades, cuando se utilizan con ActionScript van precedidas de un guión ( _ ).

La propiedad _alpha (transparencia Alfa)


Esta propiedad ya se ha utilizado, su uso es bajar la transparencia de un clip de película.

Sintaxis

NombredeInstancia ._alpha=valor;

Donde valor debe variar desde 0 (no visible) hasta 100 (visibilidad normal)

La propiedad _x (coordenadas x)
Esta propiedad establecen y devuelven el valor de la coordenada x de un clip.

Sintaxis

26 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]

NombredeInstancia ._x=valor;

Donde valor representa un número en píxeles el cual puede ser positivo y negativo

La propiedad _y (coordenadas y), esta propiedad establecen y devuelven el valor de la coordenada


y de un clip.

Sintaxis

NombredeInstancia ._y=valor;

Donde valor representa un número en píxeles el cual puede ser positivo y negativo

La propiedad _rotation (rotación)


Esta propiedad establecen el grado de rotación de un clip de película.

Sintaxis

NombredeInstancia ._rotation=valor;

Donde valor representa un ángulo el cual puede ser positivo y negativo

La propiedad _xscale (escalar en x)


Esta propiedad devuelve y ayuda a modificar la escala del clip de película en el sentido horizontal.

Sintaxis

NombredeInstancia ._xscale=valor;

Donde valor representa un número en píxeles.

La propiedad _yscale (escalar en y)


Esta propiedad devuelve y ayuda a modificar la escala del clip de película en el sentido vertical.

Sintaxis

NombredeInstancia ._yscale=valor;

Donde valor representa un número en píxeles.

La propiedad _xmouse (coordenadas x del mouse )


Esta propiedad es de solo lectura y devuelve las coordenadas del puntero del mouse.

Sintaxis

valor=NombredeInstancia ._xmouse;

Donde valor representa un número en píxeles donde se encuentra el mouse en la posición de la


coordenada x.

27 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
La propiedad _ymouse (coordenadas y del mouse )
Esta propiedad es de solo lectura y devuelve las coordenadas del puntero del mouse.

Sintaxis

valor=NombredeInstancia ._ymouse;

Donde valor representa un número en píxeles donde se encuentra el mouse en la posición de la


coordenada y.

La propiedad _height (altura )


Esta propiedad establece, recupera y modifica el alto de un clip de película.

Sintaxis

NombredeInstancia ._height; //para recuperar


NombredeInstancia ._height= valor;

Donde valor representa un número en píxeles que se establecerá para modificar el alto de un clip de
película.

La propiedad _width (ancho )


Esta propiedad establece, recupera y modifica el ancho de un clip de película.

Sintaxis

NombredeInstancia ._width; //para recuperar


NombredeInstancia ._width= valor;

Donde valor representa un número en píxeles que se establecerá para modificar el ancho de un clip
de película.

La propiedad _visible (visibilidad )


Esta propiedad permite manipular o conocer la visibilidad de un clip de película.

Sintaxis

NombredeInstancia ._visible= valor;

Donde valor representa un valor booleano, si el false el clip queda oculto, si es true (por defecto) el
clip esta visible.
La propiedad _framesloaded.
Esta propiedad permite estableces si un determinado fotograma ya ha sido cargado.

Sintaxis

valor =_framesloaded; //para la película principal


valor= NombredeInstancia ._framesloaded;

Donde valor representa el número de fotogramas que se han cargado en un momento determinado.

28 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
La propiedad _totalframes.
Esta propiedad devuelve el número de fotogramas de un clip, esta propiedad es de solo lectura.

Sintaxis

valor =_framesloaded; //para la película principal


valor= NombredeInstancia ._framesloaded;

Donde valor representa el número total de fotogramas que se necesitan para ser cargado el clip de
película determinado.

Ejemplos
(colocar los ejemplos desarrollados desde la página 112 hasta la página 117)

getBytesLoaded()
Devuelve el número de bytes que se han cargado (reproducido sin interrupción) para el clip de
película.

Sintaxis

Objeto.getBytesLoaded();

Donde objeto es el que se va ha indicar el número de bytes cargados.

GetBytesTotal()
Devuelve el tamaño en bytes del clip de película.

Sintaxis

Objeto.getBytesTotal();

Donde objeto es el que se va ha indicar el número de bytes cargados.

ifFrameLoaded()
Esta función comprueba si el contenido de un fotograma específico está disponible localmente.
Utilice la función ifFrameLoaded para comenzar a reproducir una animación sencilla mientras se
descarga el resto del archivo SWF en un equipo local. También puede utilizar la propiedad
framesloaded comprobar el progreso de descarga de un archivo SWF externo. La diferencia entre
framesloaded y ifFrameLoaded radica en que_ framesloaded permite añadir sentencias if o else
personalizadas.

Sintaxis

ifFrameLoaded([escena,] frame) {
sentencia(s);
}

Parámetros

29 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com


Creando Script con ActionScript 2.0 [Adobe Flash CS2]
escena, una cadena opcional que identifica el nombre de la escena que se va a cargar.
frame es necesario cargar el número de fotograma o la etiqueta de fotograma antes de ejecutar
la sentencia siguiente.
sentencia(s), las instrucciones que se deben ejecutar si se carga el fotograma, o escena y fotograma.

Ejemplo

En este caso vamos a crear una animación de barra de precarga dentro de un movie clip que dure
exactamente 100 frames, así cada frame será puesto en pantalla de acuerdo al porcentaje de carga,
en nuestro caso nos ha quedado así:

He creado entonces una animación dentro de un movie clip cuyo


largo seran 100 frames; en mi caso es una barrita que se va llenando
hasta llegar a 100, como el ejemplo tradicional
La pongo dentro de un movie clip para dejar lo mas despejada la
línea de tiempo principal, además, así será mas fácil controlar sus
cambios; para terminar le pongo a ese movie clip el nombre
barra_mc.
Ahora solo falta ponerle un nombre a nuestro Campo de Texto
(texto dinámico), lo llamaremos porcentaje_txt, este nombre lo
colocan en la barra de propiedades seleccionando el campo de texto, en un área que dice <Instance
Name>.

30 Docente: Aldo Salinas Encinas email: salinas282003@hotmail.com

You might also like