El problema esta en uqe una vaez se ejecuta la función closeActive() (al pulsar el boton x de una ventana) las transparencias ya no reaccionan y el cambio de profundidades tampoco.
Aqui les pongo el codigo de la calse
Código :
class window {
private var velo:Number = new Number (3);
private var clipsNum:Number = new Number ();
private var clips:Array = new Array ();
private var inix:Array = new Array ();
private var iniy:Array = new Array ();
private var active:MovieClip = null;
private var interval:Number = new Number ();
private var mouse:Object = new Object ();
function window () {
clipsNum = arguments.length;
active = arguments[0];
for (var i:Number = 0; i < arguments.length; i++) {
arguments[i]._xscale = 0;
arguments[i]._yscale = 0;
arguments[i]._alpha = 50;
clips[i] = arguments[i];
inix[i] = arguments[i]._x;
iniy[i] = arguments[i]._y;
}
interval = setInterval (this, "period", 30);
}
function getVelo () {
return velo;
}
function setVelo (veloTarget:Number) {
velo = veloTarget;
}
function getActive () {
return active;
}
function setActive (target:MovieClip) {
active.swapDepths (target);
active = target;
}
function closeActive () {
active = null;
}
function getWindowsNum () {
return clipsNum;
}
private function period () {
for (var i = 0; i < clipsNum; i++) {
if (clips[i] == active) {
clips[i]._x += (Stage.width / 2 - clips[i]._x) / velo;
clips[i]._y += (Stage.height / 2 - clips[i]._y) / velo;
clips[i]._xscale += (100 - clips[i]._xscale) / velo;
clips[i]._yscale += (100 - clips[i]._yscale) / velo;
clips[i]._alpha += (100 - clips[i]._alpha) / velo;
} else {
clips[i]._x += (inix[i] - clips[i]._x) / velo;
clips[i]._y += (iniy[i] - clips[i]._y) / velo;
clips[i]._xscale += (50 - clips[i]._xscale) / velo;
clips[i]._yscale += (50 - clips[i]._yscale) / velo;
clips[i]._alpha += (50 - clips[i]._alpha) / velo;
}
}
}
}
i aqui el codigo del swf
Código :
var w:window = new window (principal, bio, porto, contacte, funbox);
w.setVelo (5);
with (principal) {
swapDepths (5);
xx.onPress = function () {
_root.w.closeActive ();
};
}
with (bio) {
swapDepths (4);
xx.onPress = function () {
_root.w.closeActive ();
};
}
with (porto) {
swapDepths (3);
xx.onPress = function () {
_root.w.closeActive ();
};
}
with (contacte) {
swapDepths (2);
xx.onPress = function () {
_root.w.closeActive ();
};
}
with (funbox) {
swapDepths (1);
xx.onPress = function () {
_root.w.closeActive ();
};
}
mouse = new Object ();
function onMouse (target:MovieClip) {
with (target) {
if (active != this && hitTest (_root._xmouse, _root._ymouse, true) && !w.getActive ().hitTest (_root._xmouse, _root._ymouse, true)) {
w.setActive (target);
}
}
}
mouse.onMouseDown = function () {
onMouse (getInstanceAtDepth (5));
onMouse (getInstanceAtDepth (4));
onMouse (getInstanceAtDepth (3));
onMouse (getInstanceAtDepth (2));
onMouse (getInstanceAtDepth (1));
};
Mouse.addListener (mouse);
Y aquí les dejo un swf para que vean que es lo que pasa
Espero me puedan ayudar, muchas gracias
