porq no llamar Init en el constructor ?
  buho29
      ______________________________________________________________

    From:  Fede Rivas <[EMAIL PROTECTED]>
    Reply-To:  [email protected]
    To:  "[email protected]" <[email protected]>
    Subject:  Re: [ASNativos] Rutas en clases
    Date:  Mon, 23 Jan 2006 12:50:15 +0100
    >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
    >----------------------------------
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a