pues yo lo haria asi
cuando estas arriba
antes de agrandar preguntas el ancho y el alto
luego de agrandarlo preguntas el nuevo ancho y nuevo alto
restas ancho nuevo - ancho viejo divides entres 2 el resultado y se lo restas
a la posicion x del clip
lo mismo para el alto
Código:
oldancho = mcEfecto._width;
oldalto = mcEfecto._height;
mcEfecto._xscale = mcEfecto._yscale += 1;
newancho = mcEfecto._width;
newalto = mcEfecto._height;
mcEfecto._x -= (newancho-oldancho)/2;
mcEfecto._y -= (newalto-oldalto)/2;
y para cuando estas afuera del clip lo mismo
solo que se invierten las operaciones
Código:
oldancho = mcEfecto._width;
oldalto = mcEfecto._height;
mcEfecto._xscale = mcEfecto._yscale -= 1;
newancho = mcEfecto._width;
newalto = mcEfecto._height;
mcEfecto._x += (oldancho-newancho)/2;
mcEfecto._y += (oldalto-newalto)/2;
habria que definir el tipo de variables antes tb
Código:
var oldancho:Number;
var oldalto:Number;
var newancho:Number;
var newalto:Number;
bueno creo que en tu script quedaria asi
Código:
var encreaseLogo = setInterval(function () {
oldancho = mcEfecto._width;
oldalto = mcEfecto._height;
mcEfecto._xscale = mcEfecto._yscale += 1;
newancho = mcEfecto._width;
newalto = mcEfecto._height;
mcEfecto._x -= (newancho-oldancho)/2;
mcEfecto._y -= (newalto-oldalto)/2;
if (mcEfecto._xscale >= escalaMaxima) {
clearInterval(encreaseLogo);
}
}, 10);
y asi
Código:
var decreaseLogo = setInterval(function () {
oldancho = mcEfecto._width;
oldalto = mcEfecto._height;
mcEfecto._xscale = mcEfecto._yscale -= 1;
newancho = mcEfecto._width;
newalto = mcEfecto._height;
mcEfecto._x += (oldancho-newancho)/2;
mcEfecto._y += (oldalto-newalto)/2;
if (mcEfecto._xscale <= escalaNormal) {
clearInterval(decreaseLogo);
}
}, 10);
bueno espero te sirva a mi me funciono aunque no lo probe con tu script
sldos y suerte