var vy:Number = 0; var zonaVisible:Number = mask_mc._height; var altoScroll:Number = zonaVisible; var posYClip:Number = texto_mc._y; var posYBarra:Number = barra_mc._y; var porScrollHEIGHT:Number = barra_mc.porScroll._height; var limiteBarra:Number = abajo_mc._y - barra_mc._height; var distanciaScroll:Number = texto_mc._height - zonaVisible; // altura del texto - alto de la máscara var distanciaScroll2:Number = texto_mc._height - zonaVisible + posYClip; // le sumo la posición inicial del clip para hacer el scroll con la barra var recorridoBarra:Number = Math.floor(zonaVisible - abajo_mc._height - arriba_mc._height - barra_mc._height); var finalY:Number = texto_mc._y; barra_mc.porScroll._height =0; mask_mc._width = texto_mc.btnThumb1._width+20; mask_mc._height = texto_mc.btnThumb1._height*4; function hacerScroll(){ finalY += vy; if(finalY >= posYClip){ finalY = posYClip; } if(finalY <= -distanciaScroll){ finalY = -distanciaScroll; } recolocarBarra(); } arriba_mc.onPress = function (){ vy = 6; onEnterFrame = hacerScroll; barra_mc.tipScroll.gotoAndStop(2); } arriba_mc.onRelease = function (){ vy = 0; onEnterFrame = null; barra_mc.tipScroll.gotoAndStop(1); } abajo_mc.onPress = function (){ vy = -6; onEnterFrame = hacerScroll; barra_mc.tipScroll.gotoAndStop(2); } abajo_mc.onRelease = function (){ vy = 0; onEnterFrame = null; barra_mc.tipScroll.gotoAndStop(1); } // Función para hacer el scroll con la barra function hacerScrollBarra(){ var movidoBarra:Number = barra_mc._y - posYBarra; var scr:Number = movidoBarra * (-distanciaScroll2/recorridoBarra); finalY = Math.floor(scr) + posYClip; ///////////////////////////////////////////////////////->>>>>>>>>>>>>>>> barra_mc.porScroll._height = Math.abs(scr/distanciaScroll2)*porScrollHEIGHT; barra_mc.tipScroll.porcentaje.text = Math.round(Math.abs(scr/distanciaScroll2)*100); ///////////////////////////////////////////////////////->>>>>>>>>>>>>>>> } // Eventos de la barra barra_mc.onPress = function (){ barra_mc.startDrag(false,barra_mc._x, posYBarra, barra_mc._x, limiteBarra); onMouseMove = hacerScrollBarra; barra_mc.tipScroll.gotoAndStop(2); } barra_mc.onRelease = barra_mc.onReleaseOutside = function (){ stopDrag(); onMouseMove = null; barra_mc.tipScroll.gotoAndStop(1); } function recolocarBarra(){ ///////////////////////////////////////////////////////->>>>>>>>>>>>>>>> barra_mc.porScroll._height = Math.abs(finalY/distanciaScroll)*porScrollHEIGHT; barra_mc.tipScroll.porcentaje.text = Math.round(Math.abs(finalY/distanciaScroll)*100); ///////////////////////////////////////////////////////->>>>>>>>>>>>>>>> var y:Number = (finalY*recorridoBarra)/-distanciaScroll; barra_mc._y = y + posYBarra; if(barra_mc._y <= posYBarra){ barra_mc._y = posYBarra; } } texto_mc.onEnterFrame = function (){ texto_mc._y = texto_mc._y + ((finalY - texto_mc._y)/8); } Mouse.addListener(this); function onMouseWheel(delta:Number, scrollTarget:MovieClip){ if(delta){ vy = delta * 6; hacerScroll(); vy = 0; barra_mc.tipScroll.gotoAndStop(2); } }