getDefinitionByName

Cuando en flash se crean una serie de objetos en la librería que luego serán usados indistintamente me encontré con el problema de que tenía dificultades para crearlos dinamicamente de una forma sencilla.

Imaginemos que tenemos unos botones y que necesitamos crear un menú dependiendo de una serie de datos. Los botones en la librería serían iguales, cada uno con su icono y los llamamos con distintos nombres ('Bot1', 'Bot2', etc) a la hora de crear el objeto sería largo de programar el hacer la creación de ese nuevo objeto del tipo Bot1 o Bot2 dependiendo de lo que nos haga falta, habría que hacer un switch para saber que boton necesitamos y crearlo.

Con el uso de getDefinitionByName podemos coger el nombre del botón que pasariamos en una variable y crearlo y pasarlo como MovieClip.

CODE:
  1. var nomber:String="Bot1";
  2. // obtengo el tipo de objeto para crearlo
  3. // así el tipo de objetos es dinamico <-- ej: Bot1
  4. var classDef:Object = getDefinitionByName(nombre);
  5. var boton:MovieClip=new classDef();

Comments are closed.