2011-05-04 46 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 
} 
};