2011-05-04 87 views
0

我在AS2验证码:闪存AS2自动滚轮

滚轮的汽车速度是:

无功自动速度:数= 2;

我希望它变慢,但是当我减少数字时,scrollface不会移动。

我该如何解决这个问题。

谢谢。

function scrolling(){ 
var scrollHeight:Number = scrollTrack._height; 
var contentHeight:Number = contentMain._height; 
var scrollFaceHeight:Number = scrollFace._height; 
var maskHeight:Number = maskedView._height; 
var initPosition:Number = scrollFace._y=scrollTrack._y; 
var initContentPos:Number = contentMain._y; 
var finalContentPos:Number = maskHeight-contentHeight+initContentPos; 
var left:Number = scrollTrack._x; 
var top:Number = scrollTrack._y; 
var right:Number = scrollTrack._x; 
var bottom:Number = scrollTrack._height-scrollFaceHeight+scrollTrack._y; 
var dy:Number = 0; 
var speed:Number = 10; 
var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-scrollFaceHeight); // 

var autoSpeed:Number = 2; 
var autoIsOn:Boolean = true; 

this.onEnterFrame = function() { 

    if (contentMain._y-speed>finalContentPos) { 
      if (scrollFace._y>=bottom) { 
       scrollFace._y = bottom; 
      } else { 
       scrollFace._y += autoSpeed/moveVal; 
      } 
      contentMain._y -= autoSpeed; 
     } else { 
      scrollFace._y = bottom; 
      contentMain._y = finalContentPos; 
      delete this.onEnterFrame; 
     } 
}; 

scrollFace.onPress = function() { 
    var currPos:Number = this._y; 
    startDrag(this, false, left, top, right, bottom); 
    this.onMouseMove = function() { 
     dy = Math.abs(initPosition-this._y); 
     contentMain._y = Math.round(dy*-1*moveVal+initContentPos); 
     delete this.onEnterFrame; 
    }; 
}; 
scrollFace.onMouseUp = function() { 
    stopDrag(); 
    delete this.onMouseMove; 
    }; 
}; 

回答

0

尝试临时化onEnterFrame函数。如果您减慢两次调用之间的帧数以滚动,则看起来您的值滚动速度会变慢。

this.onEnterFrame = function() { 

var count:Number = 0; // create a counter 

if (count > 5) // change 5 to value you want in order to slow down (higher value = slower scrolling) 
{ 
    if (contentMain._y-speed>finalContentPos) { 
      if (scrollFace._y>=bottom) { 
       scrollFace._y = bottom; 
      } else { 
       scrollFace._y += autoSpeed/moveVal; 
      } 
      contentMain._y -= autoSpeed; 
    } else { 
      scrollFace._y = bottom; 
      contentMain._y = finalContentPos; 
      delete this.onEnterFrame; 
    } 
    count = 0; // reset the counter 
} 
else 
{ 
    count++; // increment the counter 
} 
};