echadle un vistazo a este codigo por favor
Soy bastante novato asi que el problema y la solucion seran bastante obvios:
si llamo a la funcion in_animacion 2 veces con valores de profundidad distintos por que solo me aparece la primera animacion?
_global.in_animacion = function(animacionx, animaciony, i) {
_root.createEmptyMovieClip("mov"+i,i);
with (this) {
lineStyle(0, 0x000000, 0);
beginFill(0x505050, 100);
lineTo(200, 0);
lineTo(200, 14);
lineTo(0, 14);
lineTo(0, 0);
endFill();
_xscale = 0;
_x =animacionx;
_y =animaciony;
onEnterFrame = function () {
if (this._xscale<100) {
this._xscale = this._xscale+Math.random()*10;
} else {
delete this.onEnterFrame;
trace(i);
}
};
}
};
in_animacion(30,10,9);
in_animacion(30,40,2);
Muchisimas gracias
otra preguntita estoy matando bien el proceso onEnterFrame o deberia poner delete _parent.onEnterFrame; el tema de las jerarquias todavia no lo tengo muy bien asimilado.
gracias de nuevo
Una China en mi Zapato
asi ira, de culo, pero ira:
<code>
_global.in_animacion = function(animacionx, animaciony, i) {
_root.createEmptyMovieClip("mov"+i, i);
with (_root["mov"+i]) {
lineStyle(0, 0x000000, 0);
beginFill(0x505050, 100);
lineTo(200, 0);
lineTo(200, 14);
lineTo(0, 14);
lineTo(0, 0);
endFill();
_xscale = 0;
_x = animacionx;
_y = animaciony;
_root["mov"+i].onEnterFrame = function() {
if (_root["mov"+i]._xscale<100) {
_root["mov"+i]._xscale = _root["mov"+i]._xscale+Math.random()*10;
} else {
delete _root["mov"+i].onEnterFrame;
}
};
}
};
in_animacion(30, 10, 9);
in_animacion(30, 40, 2);
</code>
El problema es de organizacion de codigo sobre todo. Piensa que recurres al this continuamente y entras en un with y luego en un onEnterFrame y el onEnterFrame tiene un scope distinto. Es un poco complicado explicarlo asi... :P
tengo por ahi uyn codigo que hace justo esto... a ver si lo pillo y lo pongo.