>Perdonad que insista, pero cuando a uno le dicen que está equivocado, y no lo está...
Yo no digo que estes equivocado. Es dificil asegurar quien esta en posesión de la verdad absoluta, si es que alguien lo esta. Además, decir equivocado es decir que estas haciendo algo erroneamente, que tampoco creo que sea el caso. Lo que yo te doy es mi punto de vista frente al tuyo, una opcion que yo creo mejor que la tuya. Partiendo de ese punto... >Cuando tenga que hacer que una pelota bote, tengo que extender movieclip para implementarle el rebote con el suelo. Si ahora lo que quiero es que la pelota no bote con el suelo, sino que sea una bola de billar que, vista cenitalmente, rebote con las paredes de la mesa, tambiñen tendría que extender movieclip para implementar ese comportamiento. Ahora, necesito, en otro juego, que la pelota bote verticalmente, pero con pérdida de energía. A extender otra vez, y a implementar el comportamiento. En el siguiente juego, la pelota bota verticalmente, rebota con las paredes, y además, hay un jugador de fútbol que la cabecea. A extender otra vez. Así sucesivamente. Depende mucho de la fisica que le quieras a aplicar, pero en el caso que mencionas: Una bola de billar es una pelota que rebota con perdida de fuerza que es una pelota que rebota que es una pelota que es un objeto grafico (MovieClip). Herencia claramente. Por lo menos a mi me lo parece. >Eso es claramente inmanejable, porque cuando tenga que hacer los 200 juegos, puedo tener, no sé, 100 clases distintas que extiendan de movieclip, y que implementen cada una un comportamiento físico. Fijate en el Framework v2, nadie hereda directamente de MovieClip, pero casi todos heredan de UIObject que a su vez hereda de MovieClip, Tienes especialidades mas altas como ScrollableList, View o mas bajas como UIComponent, pero no hay ningun ComboManager ni un LabelManager, todos heredan de MovieClip en algun punto de la cadena. Es logico, son MovieClips, son Objetos Graficos. Y si vas a hacer 200 juegos, tener 100 clases que desciendan de algun punto de MovieClip no me parece tan descabellado. Delegar el comportamiento de una clase en otra me parece más bien fuera de la filosofia OOP y más aun si la finalidad exclusiva de esa clase es esa. >Otra opción es hacer sólo una clase que extienda movieclip, que implemente todos los posibles comportamientos, y que dependiendo del juego que sea, implementar uno u otro. Tampoco es buena opción, por motivos evidentes. Logicamente los comportamientos deberian ser divididos y colocados en una cadena de herencia. Pero arriba del todo seguiria siendo un MovieClip ya que todos esos comportamientos son de un objeto grafico. > Por ejemplo, implmentando una clase tweenManager, que se encarge de que, a partir de una posición inicial nos dé las n siguientes posiciones del objeto, o que nos dé sólo la siguiente, y que sea otra clase distinta ( la que agrega la máquina de estados del objeto ) la que se encarga de decirle al clip simplemente dónde se tiene que colocar. Es decir, abstrayendo el comportamiento del gráfico. Creo que en este caso: MovieClip uses a TweenManager.Tambien, UIObject is a MovieClip and uses a TweenManager. El tween manager solo tendria que ocuparse de lo suyo, que es realizar los calculos, en absoluto deberia saber para que se van a utilizar esos calculos y mucho menos cambiar propiedades en otro objeto segun esos calculos. Es el otro objeto (El movieclip) el que tiene que usar al TweenManager para obtener las coordenadas y modificarse a si mismo, la posicion es su responsabilidad. >Y siento repetirme, pero eso no sólo no es menos orientado a objetos, sino en este caso, es lo que hace que el código, y por lo tanto el proyecto, sea manejable y pueda llevarse a cabo. Ahi estoy de acuerdo. Una tecnica no es menos orientada a objetos que otra. Yo solo discuto que una es mejor que la otra :) >Y conste que esto lo utilizo sólo como un ejemplo. Un ejemplo de que subclasificar sin parase a pensar en el problema de forma global no es la mejor solución. Es una posible solución, pero no tiene porqué ser la mejor. Es el metodo utilizado por la naturaleza misma, subclasificar y subclasificar. Porque podrias decir que para que se moviese un mamifero puedes usar a un tio que le de patadas, pero yo prefiero subclasificarlo en un perro, que con eso ya tiene 4 patas y puede andar por si mismo (ya de paso le pongo colmillos para que muerda al tio que le esta intentando patear xD) enga, un saludo Joseba Alonso www.sidedev.net www.5dms.com ---------------------------------- Lista ASNativos:[EMAIL PROTECTED] http://www.5dms.com/listas ----------------------------------