Estoy enfrascada en un reto desde hace unas semanas y ya estoy por tirar la toalla. Mi reto era conseguir que al RollOver un botón, saliera un sandwich ("pegado" al cursor con un hitTest) con la miniatura de la sección y que al Press, el sandwich creciera y se situara en un punto concreto del escenario mediante easing.
Empecé con attachMovie para que aparecieran los sandwiches pero no funcionaba con el easing, así que seguí montando mi portfolio sin easing, pero no me puedo quitar esa espinita y TENGO que conseguir superar el reto.
Ahora los sandwiches son MC invisibles y he conseguido que el sandwich se suelte para crecer y situarse en su sitio, peeeero 1) no se me carga la sección (por éso solicito revisión del código, me cuestan las rutas) y 2) ¿cómo anulo al botón hasta que se haya cargado la sección?
De acuerdo, este es el código situado en un frame de la línea de tiempo principal:
Código :
stop();
var easing:Number = 0.1;
var targetX:Number = 206;
var targetY:Number = 85;
var targetXscale:Number = 500;
var targetYscale:Number = 500;
function startPreload(url) {
cortinaseccion_mc.url = url;
cortinaseccion_mc.target = fondoContenido_mc;
cortinaseccion_mc.gotoAndPlay(2);
}
_root.globoLo_mc._visible = false;
logo_mc.onRollOver = function() {
globoLo_mc._visible = true;
logo_mc.gotoAndStop(2);
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
globoLo_mc._x = _root._xmouse-21;
globoLo_mc._y = _root._ymouse-85;
updateAfterEvent();
globoLo_mc.play();
}
};
logo_mc.onMouseMove = function() {
globoLo_mc._x = _root._xmouse-21;
globoLo_mc._y = _root._ymouse-85;
updateAfterEvent();
};
logo_mc.onRollOut = function() {
logo_mc.gotoAndStop(1);
globoLo_mc._visible = false;
globoLo_mc.gotoAndStop(1);
};
logo_mc.onPress = function() {
globoLo_mc.gotoAndPlay(31);
if (globoLo_mc._currentframe == 31) {
globoLo_mc.onEnterFrame = function() {
var vx:Number = (targetX-this._x)*easing;
var vy:Number = (targetY-this._y)*easing;
var vxs:Number = (targetXscale-this._xscale)*easing;
var vys:Number = (targetYscale-this._yscale)*easing;
this._x += vx;
this._y += vy;
this._xscale += vxs;
this._yscale += vys;
if (this._x == targetX && this._y == targetY && this._xscale == targetXscale && this._yscale == targetYscale) {
globoLo_mc._visible = false;
delete this[onEnterFrame];
startPreload("logotipos.swf");
}
};
}
};
Para explicar un poco: "logo_mc" es el botón, "globoLo_mc" es el sándwich, y dentro de la función startPreload "cortinasección_mc" es una transición con preloader cuyo target es "fondoContenido_mc".
Agradecería toda la ayuda que me puedan dar porque este tema me está robando demasiadas horas y se ha convertido en una obsesión. Si no está clara mi explicación y necesitan el .fla, no duden en pedirlo.
Siento el larguísimo mensaje y muchas gracias de antemano.
