Download Creando Script Con Action Script...
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 d e 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
[email protected] @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 Cuando(ocurra el evento){ Ejecutar este código: } En este caso para los botones los eventos son: - press press ,se ejecuta al presionar el símbolo botón - release release , se ejecuta al liberar el símbolo botón - releaseOutside li berar fuera del símbolo botón releaseOutside , se ejecuta al liberar - rollOver s obre el símbolo botón rollOver , se ejecuta al pasar sobre - rollOut sí mbolo botón rollOut , se ejecuta al pasar fuera del símbolo - dragOver dragOver , se ejecuta al arrastrar sobre el símbolo botón - dragOut dragOut , se ejecuta al arrastrar fuera del símbolo botón -keyPress “” ,se ejecuta al presionar la flecha hacia la izquierda -keyPress keyPress “” , “” , se ejecuta al presionar la flecha hacia la derecha -keyPress “” , “” , se ejecuta al presionar el botón Home -keyPress b otón End keyPress “” , “” , se ejecuta al presionar el botón -keyPress “” , “” , se ejecuta al presionar el botón Insert -keyPress “” “” ,, se ejecuta al presionar el botón Delete -keyPress “” , “” , se ejecuta al presionar el botón Backspace -keyPress “” , “” , se ejecuta al presionar el botón Enter -keyPress fl echa hacia arriba keyPress “” , se ejecuta al presionar la flecha -keyPress f lecha hacia abajo keyPress “” , “” , se ejecuta al presionar la flecha -keyPress “” , “” , se ejecuta al presionar el botón PageUp -keyPress keyPress “” , “” , se ejecuta al presionar el botón PageDown -keyPress “” , “” , se ejecuta al presionar el botón Tab -keyPress “” , “” , se ejecuta al presionar el botón Esc -keyPress “” , “” , se ejecuta al presionar la barra de desplazamiento
Por ejemplo dibuje un objeto (por ( por ejemplo rectángulo), selecciónelo y haga clic derecho con el mouse
2
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @hotmail.com
Creando Script con ActionScript 2.0
[Adobe Flash CS2]
mostrándose el siguiente mensaje
seleccionando 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 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
[email protected] @hotmail.com
Creando Script con ActionScript 2.0
[Adobe Flash CS2]
Ahora inserte el siguiente script en el área de script Cuando haya insertado insertado el script el fotograma f otograma 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 l as 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 r equiere parámetros obligatoriamente. Sintáxis gotoAndPlay([scene:Cadena], fotograma:Objeto)
4
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @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 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
[email protected] @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 di bujar 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 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 navegador Web. También es posible utilizar la función fscommand() para pasar mensajes a Macromedia Director 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
[email protected] @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 v entana 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: 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 GET añade las variables al final de la URL y se utiliza variable, omita este parámetro. El método GET 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
[email protected] @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. 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
[email protected] @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 l a instancia de clip de película (por ejemplo, my_mc). Los parámetros que pueden aceptar más de un tipo ti po 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. 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
[email protected] @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
[email protected] @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
[email protected] @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 Number(),Convierte el parámetro expression en un número y devuelve un valor. Sintaxis Number(expression) : Number
parseInt(), parseInt(), . Convierte una cadena en un entero. Si la l a cadena especificada en los parámetros no puede convertirse en un número Sintaxis parseInt(expression:Cadena) : Number
parseFloat(),Convierte 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
[email protected] @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 cli p 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 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); params.txt, incluye el texto siguiente: El archivo externo, params.txt 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. pr esionada. Puede utilizar las propiedades scroll y maxscroll del objeto TextField para controlar el desplazamiento 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 desplazamiento vertical y horizontal actuales respectivamente; 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 necesitamos 2 botones para que sirvan de desplazamiento, tal como se muestra:
13
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @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 sac ar 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 s entencias 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 utili zan 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
[email protected] @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 l a 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
[email protected] @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 s e 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 sentencias asociadas 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 p elí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 _level X , 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 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
[email protected] @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 ell o 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
[email protected] @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 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
[email protected] @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 nombre_funcion(ingreso de datos [opcional]){ //sentencia de la función }
19
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @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 documento de dimensiones 500x400px 500x400px en cual dibujaremos un circulo al cual le convertiremos en un símbolo botón (hay ( 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
[email protected] @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
[email protected] @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 l os 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
[email protected] @hotmail.com
Creando Script con ActionScript 2.0
[Adobe Flash CS2]
Los eventos para tener presente son: load (cargar), (cargar) , este evento se ejecuta cuando el clip se ha cargado. unload (Descargar) (Descargar),, este evento se ejecuta después de la descarga. enterFrame (pasar por fotograma), fotograma), este evento se ejecuta cada vez vez que pase por el fotograma. mouseDown (hacer clic) , este evento se ejecuta al realizar clic con el mouse. mouseUp (soltar clic), 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), tecla) , este evento se ejecuta al dejar de presionar una tecla determinada. data (datos), (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,nuevoN duplicateMovieClip(de stino:Objeto,nuevoNombre:Cadena,profun ombre:Cadena,profundidad:número); didad: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 profundidad - nivel de profundidad exclusivo del clip de película duplicado. El nivel de profundidad es el orden de apilamiento de los l os 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
[email protected] @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,nuevoNom attachMovie(id:Cadena,nuevoNombre:Cadena,profund bre:Cadena,profundidad:número,inicial:Obje idad:número,inicial:Objeto); to);
Parámetros
id 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 profundidad - nivel de profundidad en el que está situado el archivo SWF. – (opcional) objeto que contiene propiedades con las que rellenar el clip de película recién inicial – (opcional) 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 ll ama 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
[email protected] @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 createEmptyMovieClip(nombre:Cadena,, profundidad:Numero); 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, 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, setProperty(destino:cade na, 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 - propiedad que va a establecerse. expresiónexpresió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
[email protected] @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 coordenada x de un clip. Sintaxis
26
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @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 valor=NombredeInstan cia ._xmouse;
Donde valor representa un número en píxeles donde se encuentra el mouse en la posición de la coordenada coordenada x. x.
27
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @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 valor=NombredeInstan cia ._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 recuperar NombredeInstancia ._height= valor;
Donde valor representa un número en píxeles que se establecerá para modificar 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 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 vi sibilidad 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; =_framesloaded; //para la película película principal 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
[email protected] @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; =_framesloaded; //para la película película principal principal valor= NombredeInstancia ._framesloaded;
Donde valor representa el número total de fotogramas que se necesitan para ser cargado 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 ,] frame) { sentencia(s); }
Parámetros
29
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @hotmail.com
Creando Script con ActionScript 2.0
[Adobe Flash CS2]
escena, 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. , las instrucciones que se deben ejecutar si se carga el fotograma, o escena y fotograma. sentencia(s) , 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 pr opiedades seleccionando seleccionando el campo de texto, en un área que dice .
30
Docente: Aldo Salinas Encinas
email: salinas282003
[email protected] @hotmail.com