Comunidad de diseño web y desarrollo en internet

Asignar dinámicamente una clase con Actionscript 3

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!

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate