El problema es que estas llamando a un m�todo que pertenece al objeto de la
clase MovieClip desde
el �mbito interno de un objeto XML que se encuentra anidado en el objeto
MovieClip, por eso no recibe la orden.
Cuando haces :
this.plant.onLoad = this.creaQu;
que es lo mismo que:
this.plant.onLoad = function(){
this.creaQu;
}
estas en realidad llamando a un metodo inexistente de this.plant porque te
encuentras dentro
de su ambito, no sales del objeto XML.
Como los objetos no poseen un metodo _parent que remita al objeto superior
donde se encuentran anidados, en este caso el objeto XML se encuentra dentro
de un objeto MovieClip, lo que se hace es crear una propiedad en el objeto
anidado de este modo:
this.plant._ref=this;
this.plant.onLoad=function(){
this._ref.creaQu();
}
asi cuando utilizamos dentro del Objeto XML this._ref, estamos remitiendo al
this del objeto Movieclip
y por lo tanto ya puedes llamar al m�todo tranquilamente.
el c�digo quedar�a:
MovieClip.prototype.creaQu = function() {
trace(this.plant.toString());
trace("ok");
}
MovieClip.prototype.veureText = function() {
this.plant = new XML();
this.plant.ignoreWhite = true;
//con esta linea recogemos la referencia
this.plant._ref=this;
this.plant.onLoad=function(){
this._ref.creaQu();
}
this.plant.load("rss.xml");
}
veureText();
----- Original Message -----
From: "Marc, de fumarmata.com" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, August 09, 2003 2:03 AM
Subject: [ASNativos] prototipos y XML
hola, tengo este par de prototipos (sip, simplificados):
MovieClip.prototype.creaQu = function() {
trace(this.plant.toString());
trace("ok");
};
MovieClip.prototype.veureText = function() {
this.plant = new XML();
this.plant.ignoreWhite = true;
this.plant.onLoad = this.creaQu;
this.plant.load("plantillas/veureText.xml");
};
veureText();
el prototipo "veureText" carga un peque�o doc XML, y "creaQu" es el
proto al que llama cuando el XML se ha cargado
pues bien, parece ser que llama a "creaQu" antes de que se haya cargado
el XML (o antes de que est� disponible o alguna cosa as�) ya que el
trace de "creaQu" devuelve un undefined
sin embargo, si quito todos los "this." de dentro de los protos, todo
funciona perfectamente. si llamo a creaQu unos fotogramas despu�s,
tambi�n encuentra el objeto XML
supongo que hay algun principio vital de flash que habr�a que aplicar
aqu� y no conozco... pero habr� cargado mil xml's distintos en mil
proyectos distintos y nunca me hab�a encontrado con esto
�ltimamente flash me da demasiadas sorpresas :/
thanks
marc
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->