3.201 cursos gratis
6.235.163 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Programar con Flash MX > Nuevo modelo de eventos en los componentes V2

Programar con Flash MX

Autor: Cristalab
Curso:  4,33/5 4,33/5 (3 opiniones) |15625 alumnos|Fecha publicación: 16/03/2005
Capítulos del curso

Capítulo 6:

 Nuevo modelo de eventos en los componentes V2

Estrenamos un nuevo modelo de eventos tambien en esta versión de Flash, ahora, podemos eventar los componentes directamente como haciamos con un boton y no por medio de funciones, listeners y demas; un punto mas en pro de la usabilidad; para el ejemplo, arrastraremos el componente "Button" al escenario y manteniendolo seleccionado desplegamos el panel de ActionScript, donde , si escribimos on( se desplegaran los eventos asociados a este componente como en la grafica:

Nuevo modelo de eventos en los componentes V2

Eventos del componente Button Asi que si colocamos el siguiente codigo:

on (click) {
trace("No me presiones :(");
}

 

Obtendremos al clickear el boton, la siguiente salida:

  Nuevo modelo de eventos en los componentes V2

Pero hagamoslo mas interesante, creemos un campo de texto dinamico en el escenario, le ponemos de nombre de instancia campo_txt y en el code del boton ponemos:

on (click) {
_parent.campo_txt.text="No me presiones :@";
}

Y el texto aparecera en el campo de texto :D

¿ Por que _parent ?
En los componentes, todo componente instanciado es, en escencia, un movie clip, asi que todo tipo de codigo que le asocies ira con el "scope" o alcance de variables del movie clip que lo compone; como el campo de texto estaba un nivel arriba del MovieClip que compone al boton, existe la necesidad de usar _parent, aunque _root funcionaria igual.
Muchos otros componentes funcionan asi, asi que no duden en oprimir F1 ante cualquier duda

Clases y programación orientada a objetos Este punto seria tema para todo un tutorial completo, pero intentare abarcar una visión general de la OOP.
Flash ahora incluye programación orientada a objetos real, es decir, para los que han sido programadores, herencia, polimorfismo, interfaces, vamos, como Java (Solo que no hay sobrecarga de metodos[info solo para programadores] ) La tecnica tambien es similar a Java, creas un archivo externo con extensión .as que tenga el mismo nombre que la clase que viene escrita en el y luego lo importas a Flash, para tener mas claro esto; vamos a crear una clase "cuadrado" que nos dibuje ¬_¬ un cuadrado en donde le digamos (Y en nuestro ejemplo, le diremos que lo haga en _root, es decir, en la linea de tiempo principal de la pelicula). En Flash vamos al menu File -> New y en la lista desplegada elegimos ActionScript File.
Guardamos el archivo con el nombre Cuadrado.as y escribimos este codigo en el:

//Declaración de la clase
class Cuadrado{
/*Variable privada (Es decir, solo puede ser vista y modificada por un metodo
de la clase; esta nos servira para saber donde vamos a dibujar */
private var elLugar:MovieClip;
/*Constructor, esta es la función que se ejecutara
al crear una instancia de la clase, como cuando hago
var cosa = new String("Hola");, algo por el estilo ;) */
//Lo olvidaba, para que sea constructora debe tener el mismo
//nombre de la clase
function Cuadrado (lugar:MovieClip) {
//Asignamos a la variable privada de la clase la variable que llega por parametro
this.elLugar = lugar;
}
//Función publica (Accesible desde el nombre de instancia de la clase) que nos servira
//Para dibujar el cuadrado
public function drawCuadrado () {
var X:Number,Y:Number;
this.elLugar.createEmptyMovieClip("cuadro",1);
this.elLugar.beginFill(0xFF0000,90);
X=(this.elLugar._width/2)+100;
Y=(this.elLugar._height/2)+100;
this.elLugar.moveTo(X,Y);
X+=100;
this.elLugar.lineTo(X,Y);
Y+=100;
this.elLugar.lineTo(X,Y);
X-=100;
this.elLugar.lineTo(X,Y);
Y-=100;
this.elLugar.lineTo(X,Y);
this.elLugar.endFill();
}
}

Y en una pelicula cualquiera colocamos solamente este codigo en el primer keyFrame:

//Trae nuestro archivo Cuadrado.as, no podemos colocar codigo de clases
//Dentro de una pelicula, debe ser en un archivo externo
import Cuadrado;
//Creamos una nueva variable de tipo "Cuadrado", es decir, nuestra clase
//Ahm!, pasandole como parametro al constructor _root, lugar donde dibujara
var test:Cuadrado = new Cuadrado(_root);
//Invocamos al función publica drawCuadrado de nuestra clase
test.drawCuadrado();

Y veremos dibujado un lindo cuadrado en nuestro escenario :D

Capítulo siguiente - Conclusiones
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 3 opiniones. Opina sobre este curso.

Descarga el PDF gratis

Cursos similares a Programar con Flash MX


Cursos Valoración Alumnos Vídeo
Conmutación. Líneas de acceso (primera parte)
En este curso sobre líneas de acceso conmutado aprenderás qué es la conmutación y por qué surge. Conocerás la evolución histórica de estas tecnologías y los principales s... [31/10/08]
0/5 741  
Visio Express
Microsoft Visio Express 2003 es un programa para la creación de diagramas que ayuda a crear diagramas empresariales, entre otras cosas.Con este curso te proponemo... [27/07/06]
 3,50/5 2.456  
PHP y MySQL. Aplicaciones Web: base de datos MySQL II (octava parte)
Programación de aplicaciones Web con PHP y MySQL. Continuando con el estudio de la Base de datos MySQ, aprende sobre el SQL (Lenguaje de consultas estructu... [02/12/08]
5/5 984  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail