Aquí la llevas Singletonizada :

<code>

class Controlador {
    private static var myControlador:Controlador = null;
    private var keyListener:Object = new Object();
    private static var dA:Number = 10;
    
    private function Controlador() {
    }
    
    public static function getInstance():Controlador {
        if (myControlador == null) {
            myControlador = new Controlador();
        }
        return myControlador;
    }

    public function Init() {
        keyListener.onKeyDown = teclaPulsada;
        Key.addListener(keyListener);
     }

    private function teclaPulsada() {
        trace(dA);
     }
}

</code>

En cualquier parte donde quieras acceder al Singleton :
<code>

import Controlador;
Controlador.getInstance().Init();

</code>

No tienes xq extender de MovieClip si no lo necesitas realmente. Si solo
quieres "controlar" usa el Singleton "a pelo". Las variables de clase, sin
son intrínsecas a ella, declaralas siempre "static", y normalmente se usan
en modo "private" pues la usaras en el ámbito de tu propia clase.

Salu2!!

Fede.

El 23/1/06 12:33, "Ivan" <[EMAIL PROTECTED]> escribió:

> Que buena pinta tiene eso del Singleton. Conocia el concepto, pero no lo
> habia hecho nunca. Estoy mirando info en San Google, y si tengo dudas os
> consulto. Gracias.
> Pero supongo que no va a mejorar el comportamiento de mis variables, pues al
> final sigue siendo una clase ¿no?
> Las variables las tengo asi mas o menos
> 
> class Controlador extends MovieClip {
>     var keyListener:Object = new Object();
>     var dA:Number = 10;
> 
>     function Controlador() {
>         Init();
>     }
> 
>     function Init() {
>         keyListener.onKeyDown = teclaPulsada;
>         Key.addListener(keyListener);
>      }
> 
>      function teclaPulsada() {
>         trace(dA) // Devuelve undefined
>         trade(_root.Control.dA) // Devuelve 10
>      }
> }
> 
> 
> 
> ----- Original Message -----
> From: "Fede Rivas" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Monday, January 23, 2006 12:12 PM
> Subject: Re: [ASNativos] Rutas en clases
> 
> 
> Buenassss. Mi consejo es, que si tu clase es un controlador al que quieres
> acceder desde cualquier parte de tu aplicación, la conviertas directamente
> en un Singleton, es muchíiiisimo más comodo, ademas, seguro que solo quieres
> tener un único controlador.....
> 
> Por otro lado, evita siempre que puedas usar referencias tipo _root....
> 
> En cuanto a las variables, donde las tienes declaradas, dentro de una
> funcion de la clase ??
> 
> 1Salu2
> 
> Fede.
> 
> 
> El 23/1/06 11:20, "Ivan" <[EMAIL PROTECTED]> escribió:
> 
>> Hola chicos/as
>> estoy tratando de hacer una clase que controle los eventos de raton y
>> enterframe para un juego, pero me estoy encontrando con problemas
>> constantes
>> de rutas en las variables, debe ser que no lo hago bien.
>> La clase se llama Control y esta instanciada en una peli sin mas.
>> 
>> var Control:Controlador=new Controlador();
>> 
>> Dentro tiene unas variables, por ejemplo
>> 
>> var keyListener:Object=new Object();
>> var dA:Number=0;
>> 
>> y una funcion llamada teclaPulsada.
>> 
>> function teclaPulsada(){
>>     trace(dA);
>> }
>> 
>> Al inicializar la clase, en un Init(), inicio el listener
>> 
>> keyListener.onKeyDown=teclaPulsada;
>> Key.addListener(keyListener)
>> 
>> Tras mucho mirar, he visto que no funciona bien porque en teclaPulsada no
>> le
>> llega dA salvo que ponga la ruta absuluta de la clase como
>> _root.Control.dA y
>> no se si eso esta bien.
>> Cuando le pongo un trace(this) dentro de teclaPulsada, veo que this es la
>> propia funcion (lo cual parece logico), pero yo quiero poder acceder a las
>> variables guardadas en la clase.
>> Cuando he hecho esto mismo en una clase vinculada con un clip del
>> escenario,
>> no he tenido ningun problema, pero ahora me esta machacando esta tonteria.
>> 
>> La pregunta un poco mas concreta seria :-)
>> 
>> ¿como referenciar variables internas de una clase desde una funcion de la
>> propia clase de forma relativa, no absoluta?
>> Gracias de antemano.----------------------------------
>> Lista ASNativos:[email protected]
>> http://www.5dms.com/listas
>> ----------------------------------
>> 
> 
> 
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
> 
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
> 


----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a