Zárate mira que te vas a partir el culo :-P, este fin de semana  
después de muchas horas intentando entender las clases me decidí a  
dejar los ejemplos de los libros y hacerme yo mi propia clase (que  
valentía la mía), el caso es que el domingo a cosa así de las 23:00  
la pruebo y me funciona... algo alucinante para mi.
Imaginad la felicidad que despertó en mi tal hecho ufff ... pero...  
la felicidad no me ha durado ni una semana... va el Sr. Zárate y pone  
un mail a la lista con las recomendaciones sobre lo que no se debe  
hacer :-S....  y miro mi clase y están todas esas cosas que no deben  
hacerse.

Os dejo mi clase para que la veáis y os riais un ratillo :-P, encima  
las funciones de Over y Out no son mías, las saqué de un tutorial de  
Manu Álvarez en Domestik. Que desastre.

P.D: Muchas gracias a todos por depositar en la lista vuestra  
ilimitada sabiduría, los que nos quedamos en la sombra vamos  
aprendiendo mucho con vuestras opiniones y consejos.

Re.PD: Si alguien ve que he hecho algo bien decídmelo y lo cambio...  
me he propuesto hacer la peor clase de todas.

class clases.eventosBotones extends MovieClip{
       public var seccionActual:MovieClip;
    public var clip:MovieClip;
          private function eventosBotones(){
        //nombre de este clip
        this.clip = clip;
               //le asigno las funciones correspondientes a los eventos
        this.onRollOver = function (){
            Over(this);
        }
        this.onRollOut = function (){
            Out(this);
        }
        this.onRelease = function (){
            Release(this);
        }
    }
       // función onRollOver para los botones
    public function Over(clip) {
        clip.onEnterFrame = function() {
            clip.gotoAndStop(clip.nextFrame());
            if (clip._currentframe == clip._totalframes) {
                delete clip.onEnterFrame;
            }
        };
    }

    // función onRollOut para los botones
    public function Out(clip) {
        clip.onEnterFrame = function() {
            clip.gotoAndStop(clip.prevFrame());
            if (clip._currentframe == 1) {
                delete clip.onEnterFrame;
            }
        };
    }
       //funcion Release
    public function Release(clip) {
               //Hago un trace del clip que hay antes de pulsar al botón
        trace("Antes estaba pulsado el botón: " + _root.clipActual);
               //activo el boton que este inactivo
        _root.clipActual.enabled = true;
                      //devuelvo al botón a su estado inicial de reposo
        Out(_root.clipActual);
               //asigno al clip Actual el nombre de este clip para  
poder activarlo despues
        _root.clipActual = this.clip;                      // 
desactivo el botón
        this.enabled = false;
           }
    }

El 09/09/2006, a las 10:54, Joseba Alonso escribió:

> No se que nos pasa pero siempre que sale un tema "profundo" de  
> estos en la
> lista los animos se exacerban. Es una conversacion muy interesante,  
> sobre
> todo para mucha gente en la lista que quieren entender todo esto,  
> que son
> los que no estan escribiendo nada pero esperando aprender mucho de  
> la gente
> que si sabe y utiliza POO. Asi que os animo a seguir con esta  
> conversacion
> pero tened en cuenta por favor un par de cosas.
>
> La POO es un poco como la religion de los programadores, por favor  
> hay que
> tratarla desde la humildad de lo que sabe cada uno, todo el mundo  
> puede
> equivocarse con un termino, se corrige amablemente y no pasa nada,  
> todos
> aprenden más. Todo lo que ha dicho Dani en su primer mail estaa muy  
> bien,
> aunque ciertamente ha confundido el polimorfismo con la sobrecarga.  
> Pero son
> dos palabros, nada mas. Hay mucha terminologia en la POO, es facil
> equivocarse, no pasa nada, a mi, por ejemplo, me pasa muchas veces.
>
> Cada uno tiene un punto de vista sobre como debe aplicarse, los hay  
> mas
> puristas, mas relajados, seguidores de la herencia de MovieClip y
> detractores...etc. Lo bueno de POO es que tiene mucho de  
> "filosofia", de
> tomar unos conceptos y aplicarlo a como entiendes tu la  
> organización de tu
> proyecto. Pero por favor, humildad, si no estais de acuerdo con el  
> punto de
> vista de una persona simplemente exponed el vuestro, pero sin  
> entrar en
> descalificaciones ni en un tono de superioridad. Todo el mundo cree  
> estar en
> posesion de la verdad muchas veces cuando la verdad absoluta no  
> existe. No
> repitamos los errores del pasado
> (http://www.mail-archive.com/[email protected]/msg01458.html), yo  
> aprendi
> eso en su momento. Si conseguimos tener estas conversaciones sin  
> que nos
> demos de tortas esta lista puede dar un paso evolutivo muy  
> importante y que
> muchos estamos esperando desde hace tiempo.
>
> Asi que por favor, seguid con estos temas, pero con respeto y  
> humildad :)
>
> Un saludo,
>
> Joseba
>
>> -----Mensaje original-----
>> De: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] En nombre de Julio
>> Rabadán González
>> Enviado el: viernes, 08 de septiembre de 2006 18:46
>> Para: Lista dedicada a Actionscript
>> Asunto: Re: [ASNativos] heredar de movieClip
>>
>> [EMAIL PROTECTED] escribió:
>>> pues ya q estamos,y a raiz de los comentarios de zarate:
>>>
>>> - pq no heredar de movieClip, q tiene de malo????
>>> - es recomendable usar interfaces cuando solo hay una persona
>>> trabajando en el proyecto?
>>>
>>> un saludo
>>>
>>>
>>>
>>> -----------------------------------------------------
>>> ASNativos
>>> www.5dms.com
>>> subscripciones/desubscripciones
>>> http://asnativos.5dms.com
>>> -----------------------------------------------------
>>>
>>>
>>>
>>>
>> Desde mi punto de vista no tiene nada de malo. Que no tenga
>> herencia múltiple flash no me parece una restricción, quizás
>> pueda alguien argumentarlo con un ejemplo (c# tampoco la
>> tiene y va de lujo).
>> Utilizarlo la herencia de MC para enriquecerlo, haciendo que
>> tus MC en escena se comporten de manera especial, me parece
>> de lo más útil. Que no "puedas" hacer un "new" (yo tengo un
>> articulo por ahí explicando como hacerlo, aunque usa código
>> no oficial), es algo que en breve dejara de ser un
>> impedimento ya que AS3 si te  lo permite.  Y siempre puedes
>> aplicar tu clase a un objeto de la biblioteca, siempre que
>> realmente sea lo que haya que hacer...
>>
>> El debate HERENCIA-COMPOSICIÓN: Cada cosa para lo suyo. Si
>> quieres crear un sistema de abstracto, que te ahorrará mucho
>> código repetido, vas a tener que heredar. Y componer es
>> genial para crear objetos ricos y sencillos de utilizar.
>>
>> Problemas:
>>
>>     De heredar: es difícil en general, porque abstraer lo es.
>> O lo dominas o la vas a cagar estrepitosamente. Debes tener
>> muy claro por qué lo haces, tener un diseño que así lo exija.
>> Nada de heredar de buenas a primeras todo lo que se parezca,
>> y de aquella manera. Te vas a montar un árbol de clases
>> infinito y enrevesado, que solo tu entiendes y sirve pa poco
>> más que para usarlo en navidad con una estrella y bolitas de
>> colores. Mañana cambian los requisitos, y tu maravillosa
>> abstracción infinita mal diseñada no sirve para nada, y te
>> pegas 800 horas cambiado código en todas tus clases hijas
>>
>>    De componer: es demasiado fácil. Enriquecer encapsulando
>> tiene sus lugares y ocasiones, pero abusar va en contra de la
>> sencillez (y del KISS). Debes producir mucho código, con el
>> consiguiente gasto de tiempo, que debe estar muy justificado.
>> Tiene el riesgo de que, al ser demasiado sencillo de hacer,
>> te lances a escribir sin pensar. Cuando te das cuenta has
>> escrito muuuchas lineas de código de algo ma-ra-vi-llo-so.
>> Algo maravilloso que con herencia podría haberse resuelto con
>> 10 veces menos código y el consecuente tiempo, claro que
>> pensando un poco más (y eso a veces duele). Y además tus
>> clases compuestas sirven en unos escenarios determinados, no
>> son tan flexibles como tus clases abstractas.
>>
>>     Estoy acostumbrado a programar en equipos de 3 o 4
>> personas, y he sufrido tanto los diseños con exceso de
>> composición como los que tiene exceso de herencia (incluido
>> los mios). Ambos son igual de dolorosos.
>> Creo que cada uno debe descubrir esto por si mismo, ya que no
>> hay formulas magistrales, y siempre que llegue el caso hay
>> que plantearse si heredar o componer. Si no lo tienes muy
>> claro, mejor compones. A lo mejor te equivocas, pero el mal
>> será menor. Heredar suele significar que la clase que has
>> diseñado antes has de modificarla, así que no te asustes si
>> ves que tu nueva decisión de diseño hace que deshagas camino
>> andado. Puede que este nuevo camino sea mucho mas llano y
>> divertido que el pedregal donde tes estabas metiendo.
>>
>>     Esto se aprende programando y diseñando mucho. Así que al lío.
>>
>>     Interfaces. Si alguien te ha dicho que los usos de las
>> interfaces es solo para grupos, no se enteró bien en su día.
>> Muchos patrones de diseño utilizan interfaces, y no
>> precisamente por el número de gente que los utilice. Aplicar
>> interfaces es otra manera de abstraer. Hacer que algo sea
>> noseque-able, ("tiene un..." y no "es un..."), con lo que te
>> ahorras tela de código (if...). también te solucionan
>> problemas que se resolverían con herencia múltiple, cuando
>> esta haga falta. Las clases abstractas son una maravilla,
>> pero si te hacen falta varias para una clase, mejor usas interfaces.
>>
>>      Lo dicho, a diseñar y programar.
>>
>> -----------------------------------------------------
>> ASNativos
>> www.5dms.com
>> subscripciones/desubscripciones
>> http://asnativos.5dms.com
>> -----------------------------------------------------
>>
>>
>
>
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------


-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a