Hola Paulo,

Creo que tienes un problema de planteamiento basico. Supongo que es por
estar acostumbrado a hacer prototipos. Tienes 2 clases que en realidad
serian dos metodos de una sola. Es decir, es mejor hacer una subclase de
movieclip para implementar una funcionalidad mas general. Una clase
"EaseClip" que sea capaz de mover, cambiar tama�o, alfa...etc y no solo de
forma elastica sino con mas tipos de easing. De esta manera, cuando en un
proyecto en concreto necesites que determinado clip tenga esas cualidades
solo enlazas la clase con el simbolo de biblioteca y listo. Es sencillo que
un clip que tenga que cambiar su posicion usando algun tipo de easing
tambien necesite hacerlo con su tama�o. �Porque no coger todas esas
necesidades y encapsularlas en una clase?

un ejemplo (AS2):

class EasingClip extends MovieClip{
    function EasingClip();
    function moverA(x:Number,y:Number,frames:Number,ease:String);
    function escalaA(xs:Number,ys:Number,frames:Number,ease:String);
    // etc....
}

luego vinculas el simbolo con la clase y listo:

instancia_mc.moverA(500,500,60,"elastic");

otra posibilidad seria hacer un "mixin". Una clase que da funcionalidad a
otra clase. Es una tecnica que te permite a�adir metodos a un objeto
directamente sin modificar su herencia. Muy util para proporcionar utilidad
generica a un objeto

class ClipEaser{
    private function moverA(x:Number,y:Number,frames:Number,ease:String);
    private function escalaA(xs:Number,ys:Number,frames:Number,ease:String);
    public static initialize(clip:MovieClip){
        clip.moverA = moverA;
        clip.escalaA = escalaA;
    }
}

luego puedes aplicarlo a una clase:

class OtraClase extends DataGrid{
    function OtraClase(){
        ClipEaser.initialize(this);
    }
    function Mostrar(){
        moverA(300,300,50,"elastic");
        escalaA(100,100,50,"elastic");
    }
}


o a una instancia directamente:

ClipEaser.initialize(columna5_mc);
columna5_mc.moverA(300,300,50,"elastic");
columna5_mc.escalaA(100,100,50,"elastic");

espero que esto te ayude.

un saludo

Joseba Alonso
www.sidedev.net
www.5dms.com
----- Original Message ----- 
From: "Paulo Carvajal -- Vudumedia.com---" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, February 16, 2004 11:41 AM
Subject: Re: [ASNativos] Aplicar dos clases a un MC


> Replanteo esto, a ver si se me entiende algo.
>
> Estoy acostumbrado a pensar en prototipos. Escribo uno que a�ade un m�todo
> al objeto MC y se lo aplico cuando me da. Escribo otro y se lo aplico
> despu�s del primero tranquilamente. Pero... Ahora los estoy convirtiendo
en
> Clases.
> Tengo dos clases, las instancio como objetos y se las aplico al mismo
clip.
> Sin problemas, funciona. Pero me extra�a que esto est� ni medio bien en
POO,
> porque tengo dos objetos de programaci�n que afectan al mismo clip.
>
> La pregunta:
> Si escribo una clase que a�ade la funcionalidad de movimiento elastico a
un
> clip, luego escribo otra que a�ade funcionalidad de escalado a un clip
�c�mo
> se las aplico?. �O me falla la l�gica de base y tengo que hacerlo de otra
> forma? Porque si quiero seguir a�adiendo clases seg�n este esquema, al
final
> voy a tener mil objetos por cada clip y esto se va a convertir en una
> locura.
>
> Gracias, Paulo.
>
>
> ----- Original Message -----
> From: "Paulo Carvajal -- Vudumedia.com --" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Sunday, February 15, 2004 5:52 PM
> Subject: [ASNativos] Aplicar dos clases a un MC
>
>
> > Suponed que tengo dos clases que actuan sobre un clip y las aplico as�
por
> > separado:
> >
> > var miSize01:ElasticSize = new ElasticSize(mc01, 200,200, .5, .4);
> > var miMov01:ElasticMov = new ElasticMov(mc01, 200,200, .5, .4);
> >
> >
> > Aparentemente funcionan bien, pero no creo que esto sea muy coherente,
ya
> > que tengo dos objetos que "apuntan" a un mismo MC (mc01). �Cual ser�a la
> > l�gica para aplicarlas al mismo tiempo sin tener dos objetos?
> > La primera idea ha sido una subclase que heredara de las otras dos, pero
> eso
> > no se puede (�o s�?).
> > �Ser�a mejor una sola clase que tuviera los m�todos mover y escalar?
Pero
> > qu� pasa si luego quiero ir extendiendola.
> >
> > Paulinio, la taalde me coonfunde.
> >
> > <!-------------------------------
> > Lista ASNativos:
> > subscripciones/desubscripciones
> > http://www.sidedev.net/asnativos
> > -------------------------------->
> >
> >
>
>
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.net/asnativos
> -------------------------------->

<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->

Responder a