Un singleton tiene utilidad cuando en toda tu película Flash sabes que solamente va a existir una instancia de esa clase. En mi caso el ejemplo es claro, solo voy a tener un objeto Raton, ya que solamente hay un puntero. Otra clase singleton que tengo en mi trabajo es Navegador, que es una clase que me controla la navegación entre varios frames (pantallas con actividades interactivas), ya que la barra de navegación es única para toda mi película. Así, cuando termina de resolver una pantalla, se puede llamar a Navegador.getInstance().siguientePantalla() por ejemplo

Lo que tienes que tener claro para elegir un singleton es si vas a poder tener varias instancias de la misma clase coexistiendo o no. Para los ejemplos que pones, yo no usaría un singleton para cargar sonidos, ya que puede que te interese cargar varios al mismo tiempo

Un saludo

[EMAIL PROTECTED] escribió:

....perdonad q de tanto la brasa, pero ya q empece, a ver si soy capaz de acabar..... podriamos decir entonces q un singleton, es una clase, cuya utilidad es comun para toda la aplicacion, por ejem. colorear mc, cargar sonidos, cambiar el puntero como en tu caso, etc......????



----- Original Message ----- From: "Miguel Angel Sánchez" <[EMAIL PROTECTED]>
To: <asnativos@5dms.com>
Sent: Friday, July 22, 2005 10:23 AM
Subject: Re: [ASNativos] salu2 [ Singleton ]


Se me olvidaba decir que ahí no están todos los métodos claro...

Miguel Angel Sánchez escribió:

Para cambiar el puntero del ratón :-P

[EMAIL PROTECTED] escribió:

pues nada muchas gracias, seguire estudiando (q veo q me hace mucha falta), pq sigo sin saber para q vale tu clase raton ¿¿¿????

----- Original Message ----- From: "Miguel Angel Sánchez" <[EMAIL PROTECTED]>
To: <asnativos@5dms.com>
Sent: Friday, July 22, 2005 9:01 AM
Subject: Re: [ASNativos] salu2 [ Singleton ]


Una clase singleton es una clase de la que solo tenemos una instancia, y
provee un método para acceder a esa instancia.
Aspectos a tener en cuenta:
- El constructor es privado, no se puede usar externamente.
- La clase guarda una instancia de sí misma en una propiedad.
- La clase provee de un método estático para recuperar esa instancia.

Yo lo estoy usando para el trabajo que estoy haciendo ahora, para una
clase Raton, que me cambia el cursor por unos png que tengo en un movieclip.

Un ejemplillo simple:

class Raton {
   //variable estática privada que guarda la instancia de la clase
   private static var instance:Raton = null;
   private var clip:MovieClip;

   //constructor privado
   private function Raton() {
   }

   //Método público estático que devuelve la instancia de la clase
   //Si no existe la crea
   public static function getInstance():Raton {
       if (instance==null)
           instance = new Raton();
       return instance;
   }

   public function init(target:MovieClip):Void {
       clip = target;
   }
}

Para acceder a sus métodos hay que recoger antes la instancia. Ej:
Raton.getInstance().init(cursores_mc);

La primera vez que llamemos a getInstance detectará que la variable de
clase instance es null, y creará la instancia de la clase. Las
siguientes llamadas a getInstance simplemente devolverán esta instancia.

Para llamar a cualquier otro método que creáramos tendríamos que hacerlo
haciendo una llamada previamente a getInstance.
Raton.getInstance().otroMetodo();

O crearnos un shortcut si vamos a hacer múltiples llamadas:
var raton:Raton = Raton.getInstance();
raton.init(cursores_mc);
raton.otroMetodo();
etc

Espero que te sirva de ayuda, un saludo

[EMAIL PROTECTED] escribió:

hola q tal?, alguien tiene por ahi una explicacion del uso de las clases singleton?????, llevo un rato buscando por ahi, solo veo en ingles, y me parece asi a priori un tema un poco confuso........----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------



----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------

Reply via email to