Yo tengo una question que no es exactamente esto pero que va con el tema :)
ahi va
El RegisterClass es cojonudo, hace que cualquier mc de la libreria, al
instanciarlo, herede los metodos de una clase. Perfecto. Pero y si el clip
esta en el escenario? Me gustaria poder darle a una instancia todos los
miembros de una clase aplicandolo dinamicamente o sea que la instancia x
tenga los metodos/propiedades de una clase y que en un momento dado los
tenga de otra. Como el RegisterClass pero para instancias. Se me ocurre el
metodo bestia de aplicarselos con un for loop algo asi como:
for (miembro in clase){
instancia[miembro] = clase[miembro];
}
Este sistema tiene un peque�o problema y es que si lo hago por segunda vez
con otra clase la instancia tendria miembros de las dos clases y eso no
interesa. Tendria que hacer un delete() por medio y las cosas ya se
complicarian mas
hay alguna otra manera de hacerlo mas elegantemente?
un saludo
Joseba Alonso
www.sidedev.net
----- Original Message -----
From: "a!e mu�oz" <[EMAIL PROTECTED]>
To: "flashmaestro List Member" <[EMAIL PROTECTED]>
Sent: Thursday, September 12, 2002 11:36 AM
Subject: [flashmaestro] [MX] OOP: herencia
> un ejemplo tonto de herencia en OOP para Flash MX,
> por si a alguien le interesa (me gustaria documentarlo
> como dios manda, pero el trabajo me sepulta...)
>
> en la libreria hay 3 simbolos (MovieClips "a", "b" y "c"),
> con identificadores para exportarlos para ActionScript
> (mismo nombre)
>
> lo del Object.registerClass se merece un libro para �l
> solito... si alguien tiene mucho interes podria buscar
> tiempo para explicarlo...
>
>
> [EMAIL PROTECTED] | bomber-studios.com | see less, think more
>
>
>
////////////////////////////////////////////////////////////////////////////
> ////
> // INHERITANCE v2.0
>
////////////////////////////////////////////////////////////////////////////
> ////
> // [EMAIL PROTECTED]
>
////////////////////////////////////////////////////////////////////////////
> ////
>
> animal = function(){
> //
> }
> animal.prototype = new MovieClip();
> animal.prototype.respira = function(){
> trace("Respirando");
> }
> Object.registerClass("a",animal);
>
> perro = function(){
> //
> }
> perro.prototype = new animal();
> perro.prototype.ladra = function(){
> trace("Woof, woof!");
> }
> Object.registerClass("b",perro);
>
> snoopy = function(){
> //
> }
> snoopy.prototype = new perro();
> snoopy.prototype.firmaAutografo = function(){
> trace("�A quien se lo dedico?");
> }
> Object.registerClass("c",snoopy);
>
>
> _root.attachMovie("c","miSnoopy",1);
>
> _root.miSnoopy.respira(); // Respirando
> _root.miSnoopy.ladra(); // Woof, woof!
> _root.miSnoopy.firmaAutografo(); // �A quien se lo dedico?
>