Comunidad de diseño web y desarrollo en internet online

detectar final de un movieclip

Citar            
MensajeEscrito el 03 Mar 2009 03:46 pm
Tengo una gran duda que me urge.

Tengo un movieclip que fluye dentro de una máscara hecho con una clase tweens y que se mueve verticalmente a traves de dos flechas(una parra arriba y otra para abajo), la duda es que empiezo a deslizar la información para abajo pero lo que necesito es que cuando llegue al final del movieclip se me desactive la opción de seguir dandole para abajo.
Decir que es un menú de un portfolio de una web, por lo que no puedo estipular un valor a "_y" ya que es suceptible a ser aumentada la lista

ahi va mi codigo:

// ACTIVACIÓN BOTONES DE MENÚ //

mc_arriba.enabled = false;
mc_arriba._alpha = 30;

// CLASE TWEENS //

import mx.transitions.Tween;

var func = mx.transitions.easing.Regular.easeIn;
mc_abajo.onRelease = function()
{
var mTw = new Tween(mc_menu, "_y", func, mc_menu._y, mc_menu._y-30, 0.5, true);
if ( mc_menu._y-30)
{
mc_arriba.enabled = true;
mc_arriba._alpha = 100;
}
}

mc_arriba.onRelease = function()
{
var mTw = new Tween(mc_menu, "_y", func, mc_menu._y,mc_menu._y+30, 0.5, true);
if ( mc_menu._y-30)
{
mc_arriba.enabled = true;
mc_arriba._alpha = 100;
}
if ( mc_menu._y==95)
{
mc_arriba.enabled = false;
mc_arriba._alpha = 30;
}
}



mc_arriba es el botón que hace que la información vaya para arriba
mc_abajo es el botón que hace que la información vaya para abajo
mc_menu es lo que se ve através de la máscara y la que quiero parar a llegar al final de la máscara, para evitar huecos en el menú

gracias ante todo

Por tephros

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Mar 2009 04:01 pm
hola, yo creo que si necesitas determinar un maximo de posicion _y, pero segun la altura de tu mclip

Tienes un menu que puede aumentar en su altura?, p.e.: guarda la altura de mc_menu en una var alturamenu = mc_menu._height;
Asi cuando con mc_abajo (o mc_arriba) usas una condicion if para detener cuando llegue el mc_menu hasta su alturamenu que es el punto _y maximo a donde debe llegar.

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Mar 2009 04:14 pm
claro que puede aumentar el menu, porque es un portfolio, y aumenatará una línea por cada trabajo nuevo

perdona las molestias

Por tephros

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Mar 2009 04:26 pm
no entiendo nada, nss oy un gran entendedor del actionscript y no se cm solucionar esto buaaaaaaaaaaaa

Por tephros

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Mar 2009 06:56 pm

Código ActionScript :

// ACTIVACIÓN BOTONES DE MENÚ // 
mc_abajo.enabled = false; 
mc_abajo._alpha = 30; 
 
// CLASE TWEENS // 
import mx.transitions.Tween;
import mx.transitions.easing.*;

/*import mx.transitions.easing.*; */
var func = mx.transitions.easing.Regular.easeIn;

var alturamascara = mc_mask._height; // o si tu mascara es movieclip = mask_mc._height, CUANTO MIDE TU MASCARA???
var alturamenu = mc_menu._height;  // Cuanto mide tu menu de altura?
var diff = alturamenu - alturamascara; // AQUI si menu es mas chico que mascara, ya valio!, simplemente no hay arriba y abajo ;) (SCROLL)
var init_menuY = mc_mask._y; // en este caso seria = 0, o si lo mueves apartir de algun pumto _y del escenario
// init_menuYes la posicion inicial del menu_mc
mc_menu._y = init_menuY; // Para iniciar menu_mc siempre hasta arriba, asi deshabilitas mc_arriba, y _alpha 30

// NUEVO!!: esta funcion serallamada cada que presiones tus botones arrriba y abajo, solo pasan un valor 30, -30
function movermenu (param)
{
var adonde = Number(mc_menu._y + param); //param;

  if(adonde>init_menuY)
  adonde = init_menuY;

  if(adonde<init_menuY-diff)
  adonde = init_menuY-diff;
  
// a donde ira... 
var mTw = new Tween(mc_menu, "_y", func, mc_menu._y, adonde, 0.5, true);
  mTw.onMotionFinished = function()
  {
  // termiona animacion menu --> habilitaciones y alphas :
  // (si _y = 0, p.e.) ? hazesto : si no, esto;
  mc_arriba.enabled = (mc_menu._y==init_menuY-diff) ? false : true;
  mc_arriba._alpha =  (mc_menu._y==init_menuY-diff) ? 30 : 100;
  //
  mc_abajo.enabled = (mc_menu._y==init_menuY) ? false : true;
  mc_abajo._alpha =  (mc_menu._y==init_menuY) ? 30 : 100;
  };

}


// A mover menu con los botones, llamando la funcion movermenu
mc_arriba.onRelease = function () { movermenu(-30); }
mc_abajo.onRelease = function () { movermenu(30); }

Probado! dime si te sirve....

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Mar 2009 08:19 am
fue mas fácil:

Código :

// ACTIVACIÓN BOTONES DE MENÚ Y CLASE TWEENS //

mc_arriba.enabled = false;
mc_arriba._alpha = 30;
 
import mx.transitions.Tween;

var func = mx.transitions.easing.Regular.easeIn;
mc_abajo.onRelease = function()
   {
      var mTw = new Tween(mc_menu, "_y", func, mc_menu._y, mc_menu._y-30, 0.5, true);
      if ( mc_menu._y-30) 
         { 
            mc_arriba.enabled = true;
            mc_arriba._alpha = 100;
         }
      if ( mc_menu._y+mc_menu._height<=480 )  
         {
            mc_abajo.enabled = false;
            mc_abajo._alpha = 30;
         }
   }
   
mc_arriba.onRelease = function()
   {
      var mTw = new Tween(mc_menu, "_y", func, mc_menu._y,mc_menu._y+30, 0.5, true);
      if ( mc_menu._y-30) 
         { 
            mc_arriba.enabled = true;
            mc_arriba._alpha = 100;
         }
      if ( mc_menu._y==95)
         {
            mc_arriba.enabled = false;
            mc_arriba._alpha = 30;
         }
      if ( mc_menu._y+mc_menu._height<480 ) 
         {
            mc_abajo.enabled = true;
            mc_abajo._alpha = 100;
         }
   }


cm has visto era coordinar el final del movieclip con el final de la mascara

muchas gracias por la ayuda

Por tephros

4 de clabLevel



 

firefox

 

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