Documentos de Académico
Documentos de Profesional
Documentos de Cultura
:)
Este código, así como los ejemplos, gráficos que lo ilustran y comentarios,
se pueden copiar, distribuir, imprimir... citando la fuente y el autor.
CONOCIMIENTOS PREVIOS
BASE DE
TRABAJO
Click
para ampliar
CAPAS
on (press)
{
if (this._currentframe == 5) {
} else {
Imagen 1 - lick para ampliar nextFrame();
}
on (press)
{
if (this._currentframe == 2) {
} else {
prevFrame();
}
Imagen 2 - lick para ampliar Una vez tenemos ya la base preparada, comenzaremos a introducir
los elementos.
Este código, así como los ejemplos, gráficos que lo ilustran y comentarios,
se pueden copiar, distribuir, imprimir... citando la fuente y el autor.
La primera utilidad es una lista de elementos que podemos seleccionar. Cada elemento de la lista tiene
un valor (nombres de periódicos) y vamos a mostrar un mensaje cuando el usuario seleccione un
elemento de la lista. Este mensaje mostrará el nombre del periódico y el valor que hemos indicado a
cada periódico.
Para insertar un componente, hay que arrastrarlo a nuestra ventana de trabajo. En este caso, cogemos
el componente ListBox.
El componente ListBox tiene una serie de métodos. Podemos detectar qué elemento ha sido pulsado,
ordenar la lista, conocer cuántos elementos hay en la lista, añadir un elemento ...
La información sobre estos métodos se puede encontrar en el menú Ventana/Referencia.
En nuestro ejemplo, nos interesa conocer qué elemento ha sido pulsado y qué valor tiene ese elemento.
Primero crearemos la lista... haciendo click en labels...
Introducimos la lista. Los botones de la parte superior sirven para añadir elementos (+),
borrar elementos (-), bajar un elemento y subir un elemento en la lista.
Haremos lo mismo con el campo Data, con el cual damos un valor cuantificable a la etiqueta.
Lo siguiente es asociar una función a la lista. Esto se hace a través de Change Handler. En esta
casilla escribimos la función que deseamos que se active cuándo seleccionemos un elemento. Escribimos
la función cambio_lista. Esta función la definiremos luego en la capa Acciones.
Por último, y para poder controlar el listado, necesitamos ponerle un nombre en la casilla de nombre de
Instancia (Debajo de la leyenda Componente). El nombre es: lista_periodicos
* Este nombre como otros que se irán indicando a lo largo del capítulo se pueden cambiar. Teniendo
cuidado de cambiar también las líneas de acciones que tengan asociados.
Cuando seleccionemos algún elemento de la lista, queremos que nos muestre un mensaje. Este mensaje
se crea en la función cambio_lista que hemos definido como controladora de la lista. En el fotograma
de la capa Acciones correspondiente, escribiremos el siguiente código:
function cambio_lista() {
resultado.text = "Ha seleccionado el periódico " add lista_periodicos.getSelectedItem().label
add ".\n" add "Ha conseguido " add lista_periodicos.getSelectedItem().data add " puntos de
regalo";
}
Escribimos en el campo de texto resultado una frase compuesta de un texto preparado y los valores que
nos devuelva el usuario.
El texto que está entre comillas (") es un texto literal, preparado, y el resto son valores que cogemos de
la lista:
Si probamos nuestra película, aparecerá un mensaje mostrándonos qué periódico hemos seleccionado y
la puntuación que tiene.
:)
Este código, así como los ejemplos, gráficos que lo ilustran y comentarios,
se pueden copiar, distribuir, imprimir... citando la fuente y el autor.
El siguiente ejemplo es una movieClip con una foto dentro, que queremos distorsionar.
Pasos:
3.- Poner nombre a la MovieClip para poder manipularlo. En este caso, el nombre es foto.
* Insertamos una foto dentro de una MovieClip para poder actuar sobre la foto. Una foto suelta no tiene
un nombre definido y no podemos "localizarla" ni manipularla dinámicamente. Por ello, la solución es
crear una MovieClip partiendo de la foto y dar un nombre a la MovieClip. Al modificar la MovieClip,
modificaremos la foto.
Al lado de cada botón hemos añadido un texto estático que ilustra la acción del botón.
+ alfa
on (press) {
if(foto._alpha==100)
{}
else
{
foto._alpha=foto._alpha+10;
}
}
- alfa
on (press) {
if(foto._alpha==0)
{}
else
{
foto._alpha=foto._alpha-10;
}
}
rotación positiva
on (press) {
foto._rotation=foto._rotation+10;
}
rotación negativa
on (press) {
foto._rotation=foto._rotation-10;
}
+ alto
on (press) {
foto._height=foto._height+10;
}
- alto
on (press) {
foto._height=foto._height-10;
}
+ largo
on (press) {
foto._width=foto._width+10;
}
- largo
on (press) {
foto._width=foto._width-10;
}
Y ya está. Con estos botones podemos controlar estas propiedades de la MovieClip. Hay otras
propiedades como x, y, xscale, yscale, visible... que controlan otros aspectos de la MovieClip Cambiando
las funciones para controlar las propiedades, podremos ver cómo afectan.
foto._x=foto_x+10;
:)
Este código, así como los ejemplos, gráficos que lo ilustran y comentarios,
se pueden copiar, distribuir, imprimir... citando la fuente y el autor.
Este ejemplo, el tercero, nos servirá para terminar de introducir los componentes así como para
explicar el bucle CASE.
Vamos a realizar un pequeño test de tres preguntas, con tres modelos diferentes de interacción
(respuesta directa, test y selección en lista).
Arrastramos un radio Button y definimos los valores del Componente según el gráfico siguiente:
Los tres radio Button tienen el mismo valor en Group Name. De esta manera los tres actuarán
como uno bloque. Al activar uno, se desactivarán los otros. En el campo Data, ponemos 0 en los
radio Button que son incorrectos y añadimos un 1 en el radio Button que es correcto.
Este componente funciona de una manera muy parecida a lo explicado en la tercera página, y la
definición de los valores que tiene también podemos hacerlo siguiento la anterior explicación.
Por último, añadimos un botón de componente. Este botón de componente tiene dos
propiedades. Label (el texto que aparece en el botón) y Change Handler (la función que se
activa al hacer click), en nuestro caso: evalua.
La función que controla el test, se llama evalua y tiene el siguiente código en la capa Acciones:
p1.restrict = "^0-9";
function evalua()
{
var puntos = 0;
if (p1.text.toLowerCase() == "pamplona")
{
puntos = puntos+1;
}
puntos = puntos+p2.getData();
puntos = puntos+p3.getSelectedItem().data;
switch (puntos)
{
case 0 :
resultado2.text = "No has conseguido ni un punto";
break;
case 1 :
resultado2.text = "Has conseguido un punto";
break;
case 2 :
resultado2.text = "Has conseguido 2 puntos. MUY BIEN";
break;
case 3 :
resultado2.text = "No has conseguido 3 puntos. EXCELENTE";
break;
}
}
Explicación:
p1.restrict es una función que controla qué letras podemos meter en nuestro
campo de texto, en este caso, p1.
En este ejemplo, podemos insertar todas las letras menos los números. El caracter
^ indica que los caracteres que vienen después 0-9 (del 0 al 9) no se pueden
utilizar.
Lo siguiente es la funión evalua. Creamos una variable llamada puntos que tiene el
valor 0 (aumentará de valor con los aciertos).
if (p1.text.toLowerCase() == "pamplona")
puntos = puntos+p2.getData();
p2.getData() nos devuelve el valor del radio button pulsado, y lo sumamos a los
puntos que tenemos.
puntos = puntos+p3.getSelectedItem().data;
switch (puntos)
{
case 0 :
resultado2.text = "No has conseguido ni un punto";
break;
La sentencia switch nos permite controlar una serie de valores y dar un resultado
según el valor que sea.
En este caso, según el valor que tenga puntos, escribirá en el campo de texto
resultado2 un texto u otro. Habrá tantos case como valores posibles puede tomar
la variable puntos.
:)
y ya está.
Siguiente y último...
Este código, así como los ejemplos, gráficos que lo ilustran y comentarios,
se pueden copiar, distribuir, imprimir... citando la fuente y el autor.
Este ejemplo enseña como mover una MovieClip a través de las teclas.
Si pulsamos la tecla derecha, el coche se moverá hacia la derecha 10 pixels. Si pulsamos la tecla
izquierda, el coche se moverá a la izquierda 10 pixels.
Key.isDown(), actua de manera que se activa la función cuando una tecla es pulsada... la tecla
pulsada se puede comprobar poniéndola entre los paréntesis ya que todas las teclas tienen un código
de tecla.
Si escribimos
if(Key.isDown(65){}
se activará la función al pulsar la tecla con el código 65 (la tecla A) y ejecutará las órdenes que
hayamos puesto entre los corchetes.
Existen algunas teclas que no necesitan conocer el código, como RIGHT y LEFT, entre otras.
if (Key.isDown(Key.RIGHT)) {}
(Copiar y pegar)
velocidad = 10;
rotacion=1;
coche.onEnterFrame = function() {
with (coche) {
if (Key.isDown(Key.RIGHT)) {
if (rotacion == 1) {
} else {
rotacion = 1;
_xscale = -_xscale;
}
_x += velocidad;
if (_x>=444) {
_x = 444;
}
}
if (Key.isDown(Key.LEFT)) {
if (rotacion == 2) {
} else {
rotacion = 2;
_xscale = -_xscale;
}
_x -= velocidad;
if (_x<=50) {
_x = 50;
}
}
}
};
(Modo
visual)
velocidad y rotacion son dos variables que definimos para utilizarlas más adelante.
with (coche) { - Indicamos que todo lo que se haga a continuación se referirá a la movieclip coche,
de esta forma no hay que poner toda la ruta para cambiar el valor de _x o de _y, ya que se
sobreentiende que se refiere a la movieclip que está definida en with.
Parte 1
if (Key.isDown(Key.RIGHT)) {
if (rotacion == 1) {
} else {
rotacion = 1;
_xscale = -_xscale;
}
_x += velocidad;
if (_x>=444) {
_x = 444;
}
}
Si ha pulsado la tecla derecha y además, el valor de rotacion es distinto de 1, significará que el coche
apuntaba hacia otro lado (1 es derecha, 2 es izquierda). Volteamos horizontalmente el coche,
cambiadno el valor de _xscale po su equivalente negativo _xscale = -_xscale; Si ya apuntaba al
lado correcto, no hará nada.
Además de cambiar la orientación (si fuese necesario), cambiamos el valor _x (posición en el eje x
del coche). Comprobamos que no pase de 444 pixels para que no desaparezca de la pantalla. _x +=
velocidad;, es lo mismo que decir x=x+10; (10 es velocidad)
Parte 2
if (Key.isDown(Key.LEFT)) {
if (rotacion == 2) {
} else {
rotacion = 2;
_xscale = -_xscale;
}
_x -= velocidad;
if (_x<=50) {
_x = 50;
}
}
Lo mismo pero al revés. Si pulsamos la tecla izquierda, haremos que el coche se mueva hacia la
izquierda, sin pasar del límite 50 para evitar que desaparezca.
Este código, así como los ejemplos, gráficos que lo ilustran y comentarios,
se pueden copiar, distribuir, imprimir... citando la fuente y el autor.