Comunidad de diseño web y desarrollo en internet online

Solución para Scroll Wheel! siempre va hacia abajo

Citar            
MensajeEscrito el 16 Dic 2009 06:40 pm
hola cristalab!
tengo un problemita con mi logica en action scrip...
ya tengo un texto dinamico con botones que desplasan texto hacia arriba y hacia abajo, una barra desplasable que va de arriba hacia abajo sin problemas
ya le agregue el mouseListener para el Scroll Wheel
segun yo mi logica booleana iba bien hasta que le di el Ctrl+Enter y EL TEXTO SIEMPRE IBA HACIA ABAJO
necesito un simple tip se los ruego!
me mega urge!
este es el codigo del texto dinamico completo

Código :

var formato:TextFormat = new TextFormat();
formato.align = "justify";
with (formato) {        
color = 0xFFFFFF;    
my_txt.font = "FontAvant";    
size = 16;     
} 

my_txt.text = "aqui tengo mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho mucho texto";
my_txt.setTextFormat(formato);

max=my_txt.maxscroll;

vis=my_txt.maxviewable()
visPercent=(vis/max)*100
//trace(visPercent)
dragger_mc._yscale=visPercent;

topOfScroll=scrollbg_mc._y;
dragHeight=scrollbg_mc._height-dragger_mc._height;
amountPerScroll=dragHeight/max;
//trace(amountPerScroll)
dragger_mc.onPress=function(){
   
   startDrag(this,false,scrollbg_mc._x,scrollbg_mc._y,scrollbg_mc._x,(scrollbg_mc._y+scrollbg_mc._height)-this._height);
   this.onEnterFrame=function(){
      amountFromTop=this._y-topOfScroll
      newScroll=Math.floor(amountFromTop/amountPerScroll)+1
      my_txt.scroll=newScroll
   }
}

dragger_mc.onRelease=dragger_mc.onReleaseOutside=function(){
   
   this.onEnterFrame=null;
   stopDrag();
}

down_mc.onPress = function() {

   this.onEnterFrame = function() {
      if(my_txt.scroll<my_txt.maxscroll){
      my_txt.scroll++;
      dragger_mc._y+=amountPerScroll;
      }else{
         
         dragger_mc._y=topOfScroll+dragHeight
      }
   };
};
down_mc.onRelease=down_mc.onReleaseOutside=function(){

   this.onEnterFrame=null;
}

up_mc.onPress = function() {

   this.onEnterFrame = function() {
      if(my_txt.scroll>1){
      my_txt.scroll--;
      dragger_mc._y-=amountPerScroll;
      }else{
         dragger_mc._y=topOfScroll
      }
   };
};


up_mc.onRelease=up_mc.onReleaseOutside=function(){
   
   this.onEnterFrame=null;
   
}

var mouseListener = new Object();

mouseListener.onMouseWheel = function() {
   this.onMouseWheel = function():Void {
      if(my_txt.scroll<my_txt.maxscroll){
      my_txt.scroll++;
      dragger_mc._y+=amountPerScroll;
      }else{
         dragger_mc._y=topOfScroll+dragHeight
      }
   }
    
      if(my_txt.scroll>1){
      my_txt.scroll--;
      dragger_mc._y-=amountPerScroll;
      }else{
         dragger_mc._y=topOfScroll
      }
   }

 

Mouse.addListener(mouseListener);
_root.initStage();


ahora por logica, como tengo en el mouseListener que primero vaya hacia abajo a la hora de usar el Scroll Wheel va hacia abajo
y si cambio el orden va a hacia arriba....
me falta ya nada, se que es un detalle que se me escapa pero no lo VEO!!!
gracias cristalab! :cool:

Por Rijeos

22 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Dic 2009 11:21 pm
Hola! puse en google on(mousewheel) y lo primero que salio fue tu post, lo segundo la ayuda online de adobe no lo probe por dejadez y porque estoy a un suspiro de irme a la cama pero como vi tu post y hace tiempo que no respondo nada..pos ala pa ti!:

Por lo que parece el evento mouseWheel tiwene una "propiedad" llamada delta, es el numero de avances que hace el la rueda del mouse, si es positivo hacia un lado y si es negativo hacia el otro porque no pruebas de hacer algo parecido a lo tuyo pero con esa propiedad igual utilizar algo que ya te proporciona adobe te facilita mas las cosas. Lo haria yo pero esque mi almoada no para de mirarme mal y estoy a punoZZZZ ZZ ZRHGHTZZZZZ :zzz: uH? AH! si eso prueba con eso, si necesitas mas ayuda pidela aca msmo hacie tiempo que no programo en as2 pero es como ir en bicilzzZ>ZZZZZZZZZ

ZZZ

ZZZ

Z z z

Por Atomsk

350 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 17 Dic 2009 03:42 pm
hoh! curiosa respuesta me hiciste reir ;)
si cheque en adobe...
peeero no me arrasta la barra deslizante
inclusive asi como lo tengo, me hace la accion una vez hacia arriba y ya despues es todo hacia abajo...
si asi como dices que programar en as2 es como andar en bicicleta...
por aca andamos en triciclo :shock: y con llantitas ja!
hechame un poco mas la mano porfa!!

Por Rijeos

22 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Dic 2009 03:52 am
creo que seria para empezar algo asi
mouseListener.onMouseWheel = function(delta:Number) {
this.onMouseWheel = function():Void {
if(my_txt.scroll<my_txt.maxscroll){
my_txt.scroll += delta
dragger_mc._y+=amountPerScroll;
}else{
dragger_mc._y=topOfScroll+dragHeight
}
el delta creo que es necesario y ya tiene su valor predeterminado U_U justo ayer me puse a moverle al mouse wheel, que cosas :), ah y es += delta porque delta sabe si es negativo si para baajo y positivo si es pa arriba.
es todo, ya es cuestion de que tu modifiques tu codigo creo y si no pos aca el atomik sabra :0

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 18 Dic 2009 12:08 pm
yo uso este código para todos mis proyectos y me va perfecto.

Código ActionScript :

movement(); 

wheel.onMouseWheel = function(incressment):Void  { 
   // 
   dragger._y -= incressment*3; // 3 es la cantidad de espacios en que se movera el scroll con el mousewheel
   if (dragger._y>inferior) { 
      dragger._y = inferior; 
   } 
   if (dragger._y<superior) { 
      dragger._y = superior; 
   } 
}; 
Mouse.addListener(wheel);

Por tusa

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Dic 2009 12:11 pm
me olvidaba!! para usar mi código tenes que declarar las variables inferior y superior!!

Código ActionScript :

var superior:Number = 0; 
var inferior:Number = mascara._height-dragger._height; 


:D

Por tusa

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Dic 2009 12:15 pm
me falto una!

var wheel:Object = new Object();

Por tusa

11 de clabLevel



 

msie8

 

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