Professional Documents
Culture Documents
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
El lugar donde se coloca el Script es de suma importancia ya que ello nos dirá donde estamos
colocando el código.
Opciones de depuración
Revisar sintaxis
Mostrar consejos para el script
Formato automático
Cuando(ocurra el evento){
Ejecutar este código:
}
En este caso para los botones los eventos son:
Por ejemplo dibuje un objeto (por ejemplo rectángulo), selecciónelo y haga clic derecho con el
mouse
Importante
Por ejemplo seleccione el fotograma (es decir haga clic sobre el) al que desea insertarle un script.y
conviértalo en fotograma clave (F6).
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.
Sintáxis
gotoAndPlay([scene:Cadena], fotograma:Objeto)
scene:Cadena [opcional] - Una cadena que especifica el nombre de la escena a la que se envía la
cabeza lectora.
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.
nextFrame(), Envía la cabeza lectora al siguiente fotograma. 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
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
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.
fscommand(commando:Cadena, parámetros:Cadena)
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
Parámetros
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.
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);
Sintaxis
level:Número - Entero que especifica el nivel de Flash Player en el que se cargará el archivo SWF.
Ejemplo
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
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.
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().
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
Ejemplo
Cree un nuevo documento de 300x200px y cree tal como se muestra:
Texto estático
Texto estático
Texto dinámico
Botones
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.
Sintaxis
Number(expression) : Number
Sintaxis
parseInt(expression:Cadena) : Number
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
Sintaxis
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);
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..
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:
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;
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.
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:
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.
Sintaxis
do {
sentencia(s)
} while (condition)
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;
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
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:
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.
FUNCIONES
Flash tiene muchas funciones predefinidas, el cual se muestra a continuación:
Sintaxis
function nombre_funcion(ingreso de datos [opcional]){
//sentencia de la función
}
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
stopDrag()
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.
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
Sintaxis
onClipEvent(evento){
sentencias;
}
Nota
Tenga presente que este código se debe efectuar dentro del clip de película
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.
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().
Sintaxis
attachMovie(id:Cadena,nuevoNombre:Cadena,profundidad:número,inicial:Objeto);
Parámetros
nuevoNombre - nombre de instancia exclusivo del clip de película que va a asociarse al clip de
película.
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
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í:
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
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().
Todas las propiedades, cuando se utilizan con ActionScript van precedidas de un guión ( _ ).
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
NombredeInstancia ._x=valor;
Donde valor representa un número en píxeles el cual puede ser positivo y negativo
Sintaxis
NombredeInstancia ._y=valor;
Donde valor representa un número en píxeles el cual puede ser positivo y negativo
Sintaxis
NombredeInstancia ._rotation=valor;
Sintaxis
NombredeInstancia ._xscale=valor;
Sintaxis
NombredeInstancia ._yscale=valor;
Sintaxis
valor=NombredeInstancia ._xmouse;
Sintaxis
valor=NombredeInstancia ._ymouse;
Sintaxis
Donde valor representa un número en píxeles que se establecerá para modificar el alto de un clip de
película.
Sintaxis
Donde valor representa un número en píxeles que se establecerá para modificar el ancho de un clip
de película.
Sintaxis
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
Donde valor representa el número de fotogramas que se han cargado en un momento determinado.
Sintaxis
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();
GetBytesTotal()
Devuelve el tamaño en bytes del clip de película.
Sintaxis
Objeto.getBytesTotal();
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
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í: