¿Quieres registrarte?

Asignar dinámicamente una clase con Actionscript 3

Por: Juanlu_001
24 de Diciembre del 2008
2,149 visitas

Podría darse el caso que quisiéramos, en función de una entrada del usuario o cualquier cosa, crear diferentes objetos, instancias de clases distintas. Podríamos hacer esto de diversas maneras: tal vez un switch, o algo por el estilo, pero hay una manera mucho más práctica y que puede dar mucho juego.

Supongamos que tengo una película con dos símbolos: un cuadrado y un triángulo, cada uno de los cuales tiene como clase base Forma y como clase individual Cuadrado y Triangulo, respectivamente (no me hizo falta romperme mucho la cabeza). Por ejemplo, el usuario tiene que decidir si quiere añadir un cuadrado o un triángulo al escenario. Yendo a lo fundamental:

Código :

import clases.Forma;
var choice:String; // Esta será la elección del usuario
var Clase:Class = getDefinitionByName (choice) as Class; 
// Esta es la línea clave; se define una variable
// con la clase Class y mediante la functión
// getDefinitionByName que recibe una cadena
// obtenemos una referencia a la clase deseada
var forma:Forma = new Clase();
// Y esta es la magia del truco :)
// La variable, de todas maneras, siempre ha de ser
// de una superclase de la clase elegida
addChild (forma);


Es muy general, pero sé que dará grandes ideas; a mí me sacó de un aprieto :)

¡Saludos!

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas actionscript_3 patrones

Comentarios | Enviar un comentario
lastima q no lo vi antes, tuve q ponerme a experimentar con esto hace poco :D
Termine creando una clase para el movieclip y haciendo:
var clase:Class = ClaseDelMovieClip;
Por: Daniel Rodriguez-blog
Estoy diseñando en Flash Frofessional 8 y quiero editar el textarea. Quiero hacerlo clip de pelicula para darle movimiento y no puedo. Alguien sabe como darle movimiento u otro aspecto??
Por: Delfi-blog
Esto puede dar lugar a grandes cosas. Ya tengo una en mente para una cosa que estaba haciendo ^^ Tnks!!
Por: Bleend
Pensé que pasaría desapercibido para siempre :P

Me alegro de que les sea útil!
Por: Juanlu_001
Gracias Kapo!!!
Por: Marcos-blog
Este es un tip muy útil, cuando comencé con as3 fue una de las cosas las cuales me retrasó un proyecto.

Gracias x el tip!
Por: Shift_-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.