Pues ahí va otra cosa pa que te mires :D. En vez de usar un onEnterFrame,
usa las clases Tween Propias del flash, te ahorrarán bastante curro y
evitaras tener el enterFrame siempre "corriendo", ademas de poder usar
efectos en el movimiento (rebotes, etc)

Puedes vincular tu mc a una clase (esta si q debe extender de mc) y en ella
le implementas los métodos de movimiento y puesta a "cero". Desde ella,
registras el mc con tu controlador actual, y desde el controlador ejecutas
los metodos que te interesen del tu mc. Asi tendras el code separado, lo q
corresponde al mc en el mc, y el controlador por otra parte.

Salu2!

Fede.


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

> Jejeje... el Mook ya lo tengo en mi mesita de noche esperando a tener un
> rato (y animo) para hincarle el diente. Ya he leido algunos capitulos,
> aunque aun no he llegado a los Singletons (por cierto bastante mal traducido
> en mi opinion).
> Lo de los enterframe ya me funcionaba con lo que me has dicho antes, pero no
> sabia si era correcto lo de definir desde una clase el enterframe del root
> con _root.onEnterFrame
> Es un clip (y mas cosas) que tiene que moverse constantemente con una v,
> solo que la v cambia con los cursores. Al pulsar el cursor derecho aumento
> la v, y al pulsar el izquierdo, disminuyo, y al soltarlas, la pongo a cero.
> De ahi que el controlador quiero que lo haga todo. Me deja muy limpito el
> codigo :-)
> Seguire estudiando :-)
> 
> 
> 
> ----- Original Message -----
> From: "Fede Rivas" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Monday, January 23, 2006 5:32 PM
> Subject: Re: [ASNativos] Rutas en clases
> 
> 
> El singleton es una clase normal, el detalle es q siempre accedes a ella a
> través del getInstance(), que es el único método que puede crear la
> instancia de la clase, pues como veras, el constructor de la clase es
> privado y no puedes acceder a él de otro modo.
> GetInstance, se encarga de controlar que sólo haya una instancia de la
> clase, pues si ya existe una, te devuelve unicamente una referencia a ella.
> 
> No tienes por que extender de MovieClip, ya que esta clase "no es" un
> movieClip. Yo por ejemplo suelo hacerlo cuando vinculo clases a un clip del
> escenario por ejemplo, en ese caso la clase "es" un MovieClip, y debe
> extender de él. Tambien puedes hacerlo por composición, pero esto es harina
> de otro costal y para lo que necesitas, no viene al caso. ( No se vaya a
> montar un hilo herencia vs composición.... xDD )
> 
> Lo del enterFrame, comentanos que necesitas hacer con él.
> 
> Para ponerte con los conceptos básicos de OOP, te recomiendo el libro de
> cabecera de muchos de nosotros, ActionScript 2.0 de Colin Mook (Anaya),
> ahora además en "Spanish", abarca desde los conceptos básicos hasta el uso
> de patrones (Singletons, MVC's,Observer, Delegate.....). Pillalo sin dudarlo
> :D ( Anaya ya me pasa a mi luego la comision xDDDDDD )
> 
> Salu2!!
> 
> Fede.
> 
> 
> 
> El 23/1/06 14:02, "Ivan" <[EMAIL PROTECTED]> escribió:
> 
>> 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
>> ----------------------------------
>> 
> 
> 
> ----------------------------------
> 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