Hola,
perdonad que me interfiera pero me gustar�a hacer una pregunta al hilo
de lo que habl�is.

Joseba, el planteamiento que haces, para as2, resulta muy clarificador y
did�ctico. Adem�s est� en la l�nea de lo que implementa el ide de flash.
Es decir relacionar un mc con una clase.

Pero �qu� ocurre si queremos relacionarlo con m�s de una clase? En
principio a trav�s de la "biblioteca > propiedades > avanzadas > clase
as2" s�lo puede hacerse para una. Si, como en el ejemplo que pones,
todos los m�todos que quieres implementar responden a una l�gica que
permita encapsularlos, bien, pero si no es as�, �c�mo se hace?

Por ejemplo:

1/ Un mc con funcionalidad de ventana de datos.
2/ Una clase que encapsule los m�todos relativos a las transformaciones
geom�tricas (cambio posici�n, movimiento, aceleraciones, escala...).
3/ Una clase que encapsule m�todos para dar/pedir datos a un xml o una
bbdd y los muestre en un campo de texto...
4/ Una clase que encapsule m�todos que queramos implementar de una forma
particular en estos mc tipo ventana. Por ejemplo, cerrar ventana,
iconizarla, acoplarla a una barra especial...

En este caso, o incluso cuando s�lo hay dos clases que implementar �c�mo
ser�a correcto hacerlo?

�Tendr�a que encapsular los miembros de esas clases que me interesaran
en una nueva y �nica, espec�fica de mi proyecto (no abstraible) para
instanciarla con el mc de mi proyecto?

Y una preguta m�s �sabe alguien de alguna informaci�n de macromedia al
respecto de as2? Me refiero a algo consistente, porque la ayuda y los
manuales...

Gracias y saludos.

:��: croma2 :������������������������:
:    Carlos Terradillos Guti�rrez    :
::::::::::::::::::::::::::::::::::::::


> -----Mensaje original-----
> De: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso
> Enviado el: martes, 17 de febrero de 2004 1:08
> Para: [EMAIL PROTECTED]
> Asunto: Re: [ASNativos] Aplicar dos clases a un MC
> 
> 
> 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
> -------------------------------->
> 

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

Responder a