Comunidad de diseño web y desarrollo en internet online

La rueda del mouse mueve el scroll pero no el texto.

Citar            
MensajeEscrito el 23 Abr 2008 07:02 pm
Hola flasheros, le comento lo que me sucede,, y gracias desde ya por su tiempo y ayuda.
Tengo un scroll de texto normal con una barra, funciona perfecto. Ahora le quise agregar la función para poder moverlo también con la rueda del mouse. Agregué un código que me proporcionaron y efectivamente mueve la barra, pero no el texto.

Texto normal del scroll:

Código :

stop();
var pos_ini_barra:Number = mask._y; 
var pos_fin_barra:Number = (mask._y+mask._height)-barra._height; 
var pos_x_barra:Number = barra._x=375; 
var recorrido_barra:Number = pos_fin_barra-pos_ini_barra; 
var pos_ini_texto:Number = mascara._y; 
var pos_fin_texto:Number = mascara._y-(texto._height-mascara._height); 
var recorrido_texto:Number = 0; 
if (pos_fin_texto<0) { 
   t = pos_fin_texto*(-1); 
   recorrido_texto = mascara._y+t; 
} else { 
   recorrido_texto = pos_inicio_texto-pos_fin_texto; 
} 
function mover() { 
   muevo2 = ((pos_fin_barra-barra._y)*100)/recorrido_barra; 
   muevo = 100-muevo2; 
   move = (muevo*recorrido_texto)/100; 
    texto.onEnterFrame = null; 
   r = mascara._y-move; 
   texto.onEnterFrame = function() { 
      r2 = (r-this._y)/8; 
        if (r2>=0.5 || r2<-0.5) { 
         this._y += r2; 
      } else { 
         this.onEnterFrame = null; 
      } 
   }; 
} 
barra.onPress=function() { 
   this.startDrag(false, pos_x_barra, pos_ini_barra, pos_x_barra, pos_fin_barra); 
   id = setInterval(mover, 100); 
}; 
barra.onRelease=barra.onReleaseOutside=function() { 
   this.stopDrag(); 
   clearInterval(id); 
};


Texto para la función de la rueda del mouse:

Código :

var minScroll:Number = 6;
var maxScroll:Number = 170;
mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
   if (barra._y >= minScroll && (barra._y+barra._height) <= maxScroll){
      barra._y += -delta;
   }
   barra.onEnterFrame = function() {
      if (this._y < minScroll) this._y = minScroll;
      if (this._y+this._height > maxScroll) this._y = maxScroll-this._height;
   };
};
Mouse.addListener(mouseListener);


Puedo proporcionarles el .fla de ser necesario.
Mil gracias!
Cristian.

Por cromosoma47

159 de clabLevel



 

Rosario | Argentina

firefox
Citar            
MensajeEscrito el 24 Abr 2008 02:13 am
Hmmm............

Siento yo que lo único que deberías corroborar siempre que muevas la barra es la posición del MovieClip...

Yo lo que hago es que muevo la barra con el mouse y a partir de la posición de la barra muevo el texto... osea que si ya detecta la posición de la barra, sólo basta con que ajustes la posición del objeto, según leo en tu código, en ningún momento ajustas la posición del movieClip con la posición de la barra.

Saludos

Por Stockman

Claber

145 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jul 2011 05:40 pm

Código ActionScript :

mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
  texto._y += delta;
  barra._y -= delta;
}
Mouse.addListener(mouseListener);


Utilizo ese código. Pero quiero ponerle un límite de alto y bajo a "texto" y a "barra", pero a la vez los dos tienen límites distintos.

Muchas gracias!

Por cristianarce

46 de clabLevel



Genero:Masculino  

Diseño & Programación

firefox

 

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