Fantastico!! es justo lo que queria
no entiendo muy bien por qué funciona, pues es casi igual que una clase "normal", pero pienso trastear en casa sobre el tema. Ya puestos, tambien queria que detectase un enterFrame y me surgen un par de dudas: Funciona sin extender de la clase MovieClip ¿como es eso?¿no se supone que si uso metodos de MovieClip tengo que heredar de él?
Y para hacerlo pongo
_root.onEnterFrame=miEnterFrame;
¿es eso correcto o puedo quitar el _root de alguna manera? Molaria un listener de enterframe, pero no ta :-(
Muchas gracias.
PD: Gracias por tu respuesta tambien Miguel Angel, la guardo para otra vez.


----- Original Message ----- From: "Fede Rivas" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, January 23, 2006 12:50 PM
Subject: Re: [ASNativos] Rutas en clases


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