Professional Documents
Culture Documents
Estos conceptos se los puede recordar tratando las partes de una oracin, como: Los
objetos son nombres, las propiedades son los adjetivos y los mtodos son los verbos.
Entender la relacin entre los objetos, clases, propiedades y mtodos es muy importante
a la hora de programar con ActionScript. La clave ser el identificar adecuadamente las
propiedades y los mtodos de las diferentes clases.
OBJETOS: Cuadrado,
Rectngulo,
Circulo
CLASE: {Figuras Geomtricas}
PROPIEDADES: Tamao, Posicin, Color Fondo, Color contorno
METODOS: Mover, borrar, copiar, reducir, otros
Los mtodos muchas veces se las asocia con las FUNCIONES
3.- NOMENCLATURA DE ACTIONSCRIPT
3.1.- USO DEL PUNTO .
Flash utilizar la nomenclatura del ., para reunir en una sola instruccin las clases,
propiedades y mtodos.
Por ejemplo:
Profesor.edad = 48 (Se asigna a la edad del profesor el valor de 48)
Juan. carro.color = rojo (Se asigna el valor rojo al carro de Juan)
La nomenclatura . permite organizar los elementos en jerarqua de izquierda a derecha.
Se podra leer la ultima instruccin as: Rojo es el color del carro de Juan.
Victor.salta( )
gotoAndPlay(20) ;
3.3.- LLAVES { }
Las llaves sirven para crear bloques de instrucciones. Como en todo lenguaje de
programacin orientado a objetos, se debe tener cuidado de organizar las llaves
abiertas con las cerradas no solo en nmero pero en asociacin de bloques.
Ejemplo 1: Un bloque de instrucciones cerradas por { }. Las dos instrucciones dentro de las {} se
ejecutan en secuencia de arriba hacia abajo.
on(press) {
stopAllSounds ( ) ;
gotoAndPlay (Menu,1);
}
3.4.- COMAS ,
Las comas se usan para separar tems como parmetros, de un mtodo. Los parmetros
pueden ser 2, 3 4 o ms y la coma permite identificar cada uno de ellos.
gotoAndPlay(Fin, 1)
3.5.- COMENTARIOS
En ActionScript, el uso de dos flash // permite crear comentarios
// programa para navegar por botones
1.- ABSTRACCION
2.- ENCAPSULACION
3.- POLIMORFISMO
4.- HERENCIA
4.2. ABSTRACCION
Es la manera como representamos un objeto tomando en cuenta nicamente las
caractersticas principales del elemento de la vida real. Por ejemplo la abstraccin del
objeto persona, es aislar todos los mtodos complejos y funciones de la persona y
emitir solo los mas simples y tiles para la representacin de esa instancia.
4.3.ENCAPSULACION
Es la propiedad de un objeto que permite ocultar ciertas propiedades del objeto que no
son necesarias presentarlas para la programacin. Nos permite utilizar los objetos de una
manera ms fcil, de una manera modular y escalable.
4.4. POLIMORFISMO
Es la propiedad de los objetos de tomar varias propiedades a la vez y presentar las
necesarias en las porciones del programa donde sea necesario
4.5. HERENCIA
Es la propiedad principal de la teora OO, donde un objeto puede heredar propiedades
de otros objetos de los que pertenece, de esta manera se implementan objetos con
propiedades ya establecidas por los padres.
4.6. CREANDO OBJETOS
La creacin de objetos se realiza mediante el uso de variables en el programa
ActionScript 2.0 de Flash MX.
Ejemplo 2
// creacin de un nuevo objeto de la funcin Date()
var fecha: Date = new Date();
// creacin de un objeto de la clase Humano()
Luis = new Humano();
// creacin de un objeto micolor de la clase Color ();
micolor = new Color();
// inicio de una variable que maneja propiedades
mensaje_txt.txt = Introduccin a la POO;
// uso de una clase con un mtodo
animacin_cp.gotoAndPlay(10);
5.2.- EVENTOS
Los Eventos son acciones determinadas de Flash que responden a una activacin de
un determinado objeto. Es el resultado de ejecutar un objeto de control.
Por ejemplo al disear botones en Flash, este objeto reaccionara a diferentes eventos
que estn asignados automticamente por Flash, los mismos que son:
Evento Reposo (no hay activacin del mouse);
Evento Sobre (el cursor esta sobre el botn)
Evento Presionado (se presiona con el mouse, el standard es el botn izquierdo)
El ABC de Action Script 2.0
Evento Zona Activa (se acerca el cursor al objeto o una zona aledaa)
El evento permite que el objeto por si solo acte de una manera u otra, sin que el
programador tenga que escribir cdigo para estos eventos. Esta caracterstica hace
potente y gil la programacin.
Existen tambin un set de Eventos asignados al mouse que son:
on(press) : se ejecuta una accin al presionar el botn izquierdo del mouse.
on(release): se ejecuta una accin al liberar el botn izq. del mouse.
on(releaseOutside): ejecuta una accin cuando se hace click dentro del botn, se
mantiene presionado y se mueve el cursor fuera del rea activa del botn
on(rollOver): se ejecuta una accin cuando el puntero del mouse se encuentra dentro de
la zona activa.
on(rollOut): se ejecuta una accin cuando el puntero del mouse se encuentra fuera del
rea activa del botn.
on(dragOver) : se ejecuta la accin cuando se hace click y se mantiene pulsado el botn
y se mueve el puntero del mouse fuera de la zona activa y vuelve sobre la zona activa
del botn.
on(dragOut): se ejecuta la accin cuando se hace click se mantiene pulsado el botn y
se mueve el puntero fuera de la zona activa del botn.
5.3.- FUNCIONES
Las funciones son grupos e instrucciones de ActionScript que procesan cierto tipo de
informacin, los evalan y luego devuelven un valor especifico (numrico o lgico) o
pueden ejecutar alguna accin especifica.
Flash provee una lista bastante completa de funciones que permiten una fcil
programacin de diferentes eventos y controles. Por ejemplo la funcin currentMonth,
devuelve el mes actual del sistema.
Se pueden crear sus propias funciones para determinar la existencia de una clase en el
programa. Por ejemplo el cdigo siguiente crea una funcin llamada figuras.
function figuras() {
5.4.- METODOS
Los mtodos son acciones que el objeto tiene asignado para realizarlos de acuerdo a un
llamado o condicin especifica. Se puede uno confundir con las acciones, pero Flash las
diferencia por la sintaxis.
ACCIN: gotoAndPlay (49)
METODO: Mi_Video.gotoAndPlay(49) *
* Previamente deber crear un nombre (ej. Mi_Video) para la instancia del objeto
utilizando el Panel de Propiedades.
NOTA: Se recomienda el uso del guin bajo para nombres de instancias. Por ejemplo
5.5.- PROPIEDADES
Las propiedades son las diferentes caractersticas que definen la calidad de un objeto.
Dependiendo del tipo de objeto se despliegan en el Panel de Propiedades los diferentes
valores y las cajas para modificar dichos valores.
Toda propiedad de un objeto tiene al inicio del nombre el carcter _ (barra baja) para
que Flash reconozca ese nombre como una propiedad.
Por ejemplo la propiedad: _y devuelve el valor de la distancia vertical en pxeles del
punto de registro del smbolo tomado desde el borde superior del escenario
(previamente el objeto deber ser convertido a smbolo)
La propiedad _root indica una referencia a la lnea de tiempo principal (escena origen o
raiz )
Las principales propiedades para controlar un objeto son:
Valor
_alpha
Un nmero de 0 al 100
_visible
_name
_rotation
_width
_height
_x
True o False
Una string
Un numero
Un numero en pxeles
Un numero en pxeles
Un numero en pxeles
_y
Un numero en pxeles
Descripcin
_xscale
Un numero
_yscale
Un numero
}
5.6.- VARIABLES
Flash utiliza las variables para asignar valores fijos (al inicio del programa) o valores que
cambian (durante la ejecucin). Las variables pueden contener cualquier tipo de
informacin y son celdas de la memoria del computador controladas por el programa.
Una variable puede contener un valor inicial y modificarlo de acuerdo al programa.
En general existen dos tipos de variables:
Variable local: aquella que puede ser asignada con valores dentro de una misma funcin
o script.
Variable global: aquella que puede ser asignada con valores en varias funciones o script
(varias escenas)
Se puede asignar valores utilizando la palabra clave set o simplemente con una
asignacin. Por ejemplo las dos siguientes instrucciones son similares y asignar un valor
a la variable Edad:
set (Edad, 35);
Edad = 35;
VARIABLES PARA CAJAS DE TEXTOS
En FLASH CS-6, en el panel de propiedades de un Texto Dinmico o Introduccin de
Texto se puede asignar los valores de las variables en el subpanel Opciones
5.7.- EXPRESIONES
Sirven para construir asignaciones de valores a las variables. Las expresiones pueden
ser escritas utilizando los operadores para nmeros o cadenas (strings) .
Ejemplo de escritura:
Modo Tradicional :
x=
(a +b)
n . (m - n)
En Flash
x = (a + b) / n * (m n );
5.8. OPERADORES
En Flash se puede utilizar operadores especiales para incrementar o decrementar una
variable. Por ejemplo la expresin:
x += 7 es equivalente x = x + 7
TABLA 2: OPERADORES MAS UTILIZADOS
Smbolo
+
*
/
%
++
-+=
-=
*=
/=
Descripcin
Suma
Resta
Producto
Divisin
Modulo o residuo divisin
Incremento en uno
Decremento en uno
Adiciona un incremento
Resta un decremento
Se multiplica un valor
Se divide un valor
Ejemplo
S=a+b;
R = m n;
P = c * d;
D=f/g;
7 % 2 emite valor de 1
x++ equivale a x = x+1;
yequivale a y = y -1;
x += 3 equivale a x= x+3;
y -=4 equivale a y = y-4;
c *= 5 equivale a c = c*5;
d /= 2 equivale a d = d/2 ;
(6) Operadores varios: otros que son estn en las 5 categoras anteriores.
Ejemplo 6: Este programa suma dos variables: Valor1 y Valor2 y asigna a una tercera
variable Suma el resultado de sumar los valores numricos de los datos ingresados por el
usuario en dos cajas de texto tipo: Introduccin de Texto (Ver Guia: EL ABC DE FLASHTEXTOS). Se deber crear un botn con el smbolo de + y escribir el siguiente Script:
Adicionalmente se puede disear un botn borrar para resetear las cajas de introduccin de
texto y la de suma. El cdigo AS2.0 de este nuevo botn ser:
// Borrar todos los datos
on(press) {
valor1 = ;
valor2 = ;
suma = ;
}
EJERCICIOS DE REPASO
- Crear una calculadora completa con las 4 operaciones aritmticas
- Controlar los valores que solo sean numricos
- Controlar la divisin para cero con el mensaje correspondiente
5.9.- PARAMETROS
Son los valores o argumentos que indican como se va a realizar una determinada funcin
con ActionScript. Existen funciones que no necesitan parmetros, otras si. Por ejemplo la
instruccin stop(); no necesita parmetros. Pero la instruccin gotoAndPlay(10), si lo
necesita, en este caso el valor 10 es el parmetro.
10
Se puede utilizar la instruccin else, como tambin if anidados para realizar varias
pruebas de condiciones en un mismo grupo del programa.
Recordando los cursos bsicos de computacin, se puede diagramar la condicin if de la
siguiente manera:
Instrucciones A
Falso (else)
Instrucciones X
if
Verdadero
Instrucciones Y
11
5.11.- CICLOS
Flash utiliza varias formas para realizar una repeticin de uno o ms comandos, que se
llaman bucles o ciclos los mismos que estaran encerrados en { }.
LA INSTRUCCIN for
for (valor inicial, condicin, incremento) {
// instrucciones a repetirse
}
LA INSTRUCCIN while
while (condicin) {
// aqu lo que se repite
}
LA INSTRUCCIN do while
12
do {
// aqu las instrucciones que se repiten
} while (test);
Ejemplo 10: El siguiente programa permite generar un ciclo con la instruccin while de un
objeto en un intervalo de 45 grados . Dibujar una hoja y crear un Clip de Pelcula Hojita y su
instancia: Cp_Hojita. Crear una capa acciones y escribir el siguiente script:
// ciclo con while
i = 0;
// inicio del contador
while ( i<360) {
duplicateMovieClip(Cp_Hojita, "Hojanueva" +i, i);
_root["Hojanueva" + i]._rotation =i;
i +=45
// incremento del contador
}
13
Ejemplo 11: El siguiente programa permite generar un ciclo con la instrucciones do-while de un
objeto en un intervalo de 35 grados y variar el tono (efecto fade) . Dibujar una hoja y crear un
Clip de Pelcula Hojita (con su punto de registro abajo, ver Fig 7) y su instancia: Cp_Hojita2.
Crear una capa acciones y escribir el siguiente script:
// ciclo con do-while
i = 0;
// inicio del contador
do {
duplicateMovieClip(Cp_Hojita2, "Hojanueva" +i, i);
_root["Hojanueva" + i]._rotation =i;
_root["Hojanueva" +i]._alpha = (i/360)*100;
i +=35;
// incremento del contador
}
while (i< 360); // control de la condicin
Punto de
Registro
14
Ejemplo 12: Generar nmeros aleatorios con el clic de un boton. Crear un botn y crear una caja
de texto tipo DINAMICO y su instancia: miNumeroRandomico. Seleccionar el botn y escribir el
siguiente script:
// se generan numeros randomicos
on (release) {
miNumeroRandomico.text = Math.random();
}
Ejemplo 13: Generar diferentes nmeros randomicos: Original, Valor Redondeado, Valor
randomico en un intervalo (ej: 1 -20) y la posicin randomica de un objeto (pentgono ). Ver la
interfaz de salida en la Fig. 10.
NOTA: La instruccin trace permite crear una ventana de control con los datos requeridos.
15
= Carchi
= Imbabura
= Pichincha
= Cotopaxi
= Tungurahua
= Chimborazo
= Azogues
= Azuay
= Loja
16
_totalframes
(2) Generando informacin sobre la cantidad de datos que ha sido descargado de todas
las animaciones del programa con las funciones (o mtodos):
getBytesLoaded( ) y
getBytesTotal()
El modo mas comn es el nro. (2), pero en los dos casos, se har una comparacin de
los datos descargados con el total y esa cantidad se emitir en un campo DINAMICO, o
en un grafico de animacin que indique el progreso de la descarga.
Ejemplo 15: Disear un preloader que indique en valores porcentuales la cantidad de datos
descargados. Crear un rectangulo como Clip de pelcula y su instancia: Cp_Barraprogreso
// creacion de un preloader
stop();
miIntervalo = setInterval(preloader, 10);
function preloader() {
17
NOTA: la animacin del preloader no se detectara en detalle a menos que las animaciones que
empiezan desde el fotograma 2 tengan una duracin y carga grande.
18
19
(Final)
20
(Final)
3.- OBJETOS
(1) Objeto Clip de Pelcula: basurita
(2) Objeto Clip de Pelcula: tachobasura
(3) Caja Texto Dinmico: mitexto, variable: mensaje
21
4.- CAPAS:
ESCENA 1:
(1) Capa1: Titulo
(2) Capa2: basura
(3) Capa3: tacho
(4) Capa4: acciones
5.- CDIGO EN ActionScript (Se escribira en la capa acciones )
// uso de funciones drag,
// uso de la propiedad _visible
basurita_cp.onPress = function() {
// inicio del "dragging"
mensaje =" ";
startDrag(this, true);
};
basurita_cp.onRelease = function() {
// para el dragging para este clip
stopDrag();
// check si este clip
// es puesto en el tarro clip
if (this._droptarget == "/tachobasura_cp") {
// if es TRUE, hagalo invisible
setProperty(this, _visible, false);
mitexto.textColor= 0x0000ff; // color texto azul
mensaje = "Muy Bien Hecho Ciudadano!!";
} else {
setProperty(this, _x, 175);
setProperty(this, _y, 42);
mitexto.textColor= 0xff0000; // color texto rojo
mensaje =" MUY MAL"
}
};
Yo si hablo AS 2.0 y t?
22