Hola muchachos,
bueno con respecto a mi duda, ya comprobé que SÍ puedo darle movimiento con onEnterFrame a un mc que tiene una interpolación dentro, sólo fue un error de percepción, a continuación pego el código del efecto que se encuentra
aquí :
Código :
var mcTemporal:MovieClip;
var enlaces:Array;
var btn:MovieClip;
var dimensiones:Array;
var Factor:Number;
var mcTemporal:MovieClip = this.createEmptyMovieClip("mcTemporal", 9);
var mc2:MovieClip = this.createEmptyMovieClip("mc2", 10);
preload.swapDepths(150);
//VELOCIDAD EN QUE SE REDIMENSIONA
Factor = 0.7;
//este es el array de los textos de los enlaces
enlaces = new Array("enlace1", "enlace2", "enlace3", "enlace4", "enlace5");
btn.swapDepths(20);
var mc1:MovieClip = this.attachMovie("mc1", "mc1", 0);
this.attachMovie("menu", "menu", 20);
//CARGAMOS LOS BOTONES EN EL MENU
for (i=0; i<5; i++) {
menu.attachMovie("btn", "btn"+i, i);
btn = menu["btn"+i];
btn._x = (btn._width)*(i-2.5);
btn.campo.text = enlaces[i];
btn.index = "galeria/foto"+(i+1)+".jpg";
btn.onRelease = botones;
}
Centrar();
//CENTRAMOS LOS DOS OBJETOS
function Centrar() {
mc1._x = (Stage.width-mc1._width)/2;
mc2._x = mc1._x;
mc1._y = (Stage.height-mc1._height)/2;
mc2._y = mc1._y;
menu._x = (Stage.width)/2;
// Menu no tiene ancho, no se por que
menu._y = mc1._y+mc1._height;
}
//esta es la función que hace el movimiento
function muevemueve(an, al, Foto) {
this.onEnterFrame = function() {
var prop:Number = mc1._width/mc1._height;
dif = an-mc1._width;
mc1._width += (an-mc1._width)*Factor;
mc1._x = (Stage.width-mc1._width)/2;
preload._x = (mc1._width+mc1._x-preload._width);
mcTemporal._x = mc1._x;
mc2._x = mc1._x;
mc1._height += (al-mc1._width/prop)*Factor;
mc1._y = (Stage.height-mc1._height)/2;
preload._y = (mc1._y);
mc1.gotoAndPlay(2);
menu._y = mc1._y+mc1._height;
mcTemporal._y = mc1._y;
mc2._y = mc1._y;
if (al == mc1._height) {
mc1.gotoAndPlay(3);
delete this.onEnterFrame;
}
};
Centrar();
mc2.loadMovie(Foto);
}
//esta es la funcion que le dice a los botones que tomen el ancho y el alto an y al
function botones() {
Foto = this.index;
mcTemporal.loadMovie(Foto);
yy = 0;
onEnterFrame = function () {
yy += 4;
mcTemporal._visible = false;
//mc2._visible=false;
total = mcTemporal.getBytesTotal();
cargados = mcTemporal.getBytesLoaded();
porcentaje = int((cargados/total)*100);
//bueno porsiaca puse esto, pero creo que conceptualmente deberia ser ==100
if (porcentaje>=99.5) {
//
preload._visible = false;
//este array sirve para darle valores a la matriz de colores, solo funciona en flash 8 los valores yy van de 0 a 255
var Arreglo:Array = [1, 0, 0, 0, yy, 0, 1, 0, 0, yy, 0, 0, 1, 0, yy, 0, 0, 0, 1, 0];
mc2.filters = [new ColorMatrixFilter(Arreglo)];
if (yy>265) {
onEnterFrame = null;
muevemueve(mcTemporal._width, mcTemporal._height, Foto);
}
//mc2._visible = false;
} else {
preload._visible = true;
preload.campo.text = porcentaje+"%";
}
};
}
Bueno la idea básica de esto era que se tenga un mc contenedor (que haga loadmovie), que al hacer clic en un boton se redimensione al ancho y largo de la foto cargada, para eso tengo dos movieclips mcTemporal y mc2, el mcTemporal carga la foto y es un mc invisible, cuando la foto está cargada, se ejecuta el mc1 que es el mc de un rectangulo y con onEnterFrame, cambia sus valores de ancho y largo hasta igualar al mcTemporal, cuando llega a estas dimensiones la foto se carga en mc2. eso está asi para que a la próxima cuando cargue la nueva foto se cargue en mcTemporal y se mantenga mc2 mientras ocurre el preload de la nueva foto.
Ojala se me entienda, aquí hay gente más pedagógica creo.