Comunidad de diseño web y desarrollo en internet online

Por favor, cómo anulo acciones de un botón?

Citar            
MensajeEscrito el 04 Ago 2006 05:20 pm
Buenas tardes a tod@s!

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.

Por Sandwichera

11 de clabLevel



 

msie
Citar            
MensajeEscrito el 07 Ago 2006 04:25 pm
Soy yo otra vez.
Por favor, revisen mi código en el último if ( this._x == targetX.... Que esa condicional se ejecute es lo que me falta, ¿qué he escrito mal?
Y también sigue pendiente lo de anular el botón hasta que se me cargue la movie externa...

Muchas gracias de antemano,

Sandwichera, al borde de la locura.

Por Sandwichera

11 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Ago 2006 03:47 pm
Hola de nuevo.

Lo primero disculparme si estoy reflotando este hilo demasiado pronto pero aún tengo la esperanza de que alguien que estuviera de vacaciones cuando lo escribí, lo lea ahora y me sepa responder.

Gracias y saludos.

Por Sandwichera

11 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.