AutoScrolling减速

时间:2011-06-09 14:40:53

标签: flash actionscript-3

我发现了这一点,但不知道如何放慢速度:

var myTextLoader:URLLoader = new URLLoader(); 
myTextLoader.addEventListener (Event.COMPLETE,onLoaded); 
function onLoaded (e:Event):void 
{ 
    tekstbx.text = e.target.data; 
    tekstbx.addEventListener (Event.ENTER_FRAME,efh); 
} 

myTextLoader.load (new URLRequest("tekst.txt")); 
function efh (event:Event):void 
{ 
    event.currentTarget.scrollV += 1; 
    if (event.currentTarget.scrollV>=event.currentTarget.maxScrollV) 
    { 
        event.currentTarget.scrollV-=1; 
        event.currentTarget.removeEventListener (Event.ENTER_FRAME,efh); 
        event.currentTarget.addEventListener (Event.ENTER_FRAME,efV); 
    } 

} 
function efV (event:Event):void 
{ 
    event.currentTarget.scrollV-=1; 
    if (event.currentTarget.scrollV<=1) 
    { 
        event.currentTarget.scrollV-=1; 
        event.currentTarget.removeEventListener (Event.ENTER_FRAME,efV); 
        event.currentTarget.addEventListener (Event.ENTER_FRAME,efh); 
    } 

} 

2 个答案:

答案 0 :(得分:1)

您可以使用ENTER_FRAME替换Timer上的侦听器:然后您将通过在计时器上使用更大的延迟来减慢滚动速度。 或者您可以用较小的数字更改所有“1”(然后您应该使用常量来确保在更改它时各处的值相同)。

答案 1 :(得分:0)

由于TextField::scrollVint,因此您不能简单地放慢速度。你可以使用@ Kodiak的解决方案来减少滚动频率,这会导致移动速度变慢,但也不太流畅。

或者,您可以查看DisplayObject::scrollRect。这将允许您根据像素而不是文本行滚动。