Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/03/2013, 11:30
marcwolf
 
Fecha de Ingreso: junio-2010
Mensajes: 353
Antigüedad: 14 años, 7 meses
Puntos: 6
Respuesta: botones y profundidad

lo he comprobado igualmente y sí sólo afecta visualmente... . Te he entendido perfectamente pero tengo que deshabilitarlos dinamicamente en función de si esta dentro o fuera de la caja mask cuando estan haciéndo scroll, entiendes ?

Yo he pensado en modificar el código del scroll, prk no veo ninguna otra clase de alternativa...
Código as2:
Ver original
  1. //_root.ponDatosEncontrados();
  2. scrolling_r = function () {
  3.     var scrollHeight:Number = scrollTrack_r._height;
  4.     var contentHeight:Number = contentMain_r._height;
  5.     var scrollFaceHeight:Number = scrollFace_r._height;
  6.     var maskHeight:Number = maskedView_r._height;
  7.     var initPosition:Number = scrollFace_r._y=scrollTrack_r._y+12.5;
  8.     var initContentPos:Number = contentMain_r._y+12.5;
  9.     var finalContentPos:Number = maskHeight-contentHeight+initContentPos;
  10.     var left:Number = scrollFace_r._x+0.5;
  11.     var top:Number = scrollTrack_r._y+12.5;
  12.     var right:Number = scrollFace_r._x+0.5;
  13.     var bottom:Number = scrollTrack_r._height-scrollFaceHeight+scrollTrack_r._y+12.5;
  14.     var dy:Number = 0;
  15.     var speed:Number = 10;
  16.     var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-scrollFaceHeight);
  17.    
  18.     scrollFace_r.onPress = function() {
  19.         var currPos:Number = this._y;
  20.         startDrag(this, false, left, top, right, bottom);
  21.         this.onMouseMove = function() {
  22.             dy = Math.abs(initPosition-this._y);
  23.             contentMain_r._y = Math.round(dy*-1*moveVal+initContentPos);
  24.         };
  25.     };
  26.     scrollFace_r.onMouseUp = function() {
  27.         stopDrag();
  28.         delete this.onMouseMove;
  29.     };
  30.     btnUp_r.onPress = function() {
  31.         this.onEnterFrame = function() {
  32.             if (contentMain_r._y+speed<maskedView_r._y) {
  33.                 if (scrollFace_r._y<=top) {
  34.                     scrollFace_r._y = top;
  35.                 } else {
  36.                     scrollFace_r._y -= speed/moveVal;
  37.                 }
  38.                 contentMain_r._y += speed;
  39.             } else {
  40.                 scrollFace_r._y = top;
  41.                 contentMain_r._y = maskedView_r._y;
  42.                 delete this.onEnterFrame;
  43.             }
  44.         };
  45.     };
  46.     btnUp_r.onDragOut = function() {
  47.         delete this.onEnterFrame;
  48.     };
  49.     btnUp_r.onRelease = function() {
  50.         delete this.onEnterFrame;
  51.     };
  52.     btnDown_r.onPress = function() {
  53.         this.onEnterFrame = function() {
  54.             if (contentMain_r._y-speed>finalContentPos) {
  55.                 if (scrollFace_r._y>=bottom) {
  56.                     scrollFace_r._y = bottom;
  57.                 } else {
  58.                     scrollFace_r._y += speed/moveVal;
  59.                 }
  60.                 contentMain_r._y -= speed;
  61.             } else {
  62.                 scrollFace_r._y = bottom;
  63.                 contentMain_r._y = finalContentPos;
  64.                 delete this.onEnterFrame;
  65.             }
  66.         };
  67.     };
  68.     btnDown_r.onRelease = function() {
  69.         delete this.onEnterFrame;
  70.     };
  71.     btnDown_r.onDragOut = function() {
  72.         delete this.onEnterFrame;
  73.     };
  74.    
  75.     if (contentHeight<maskHeight) {
  76.         scrollFace_r._visible = false;
  77.         btnUp_r.enabled = false;
  78.         btnDown_r.enabled = false;
  79.     } else {
  80.         scrollFace_r._visible = true;
  81.         btnUp_r.enabled = true;
  82.         btnDown_r.enabled = true;
  83.     }
  84. };

Me gustaría saber si alguien sabe de algo que ya exista para este situación o tiene alguna solución para este problema.

gracias de antemano, debería de crear otro tema? esto no tiene nada que ver con el título