自动滚动慢下来



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

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); 
    } 
} 

您可以将ENTER_FRAME上的侦听器替换为Timer:然后您将通过在计时器上使用更大的延迟来减慢滚动速度。或者你可以用一个较小的数字来改变所有的"1"(然后你应该使用一个常数来确保在你改变它时,每个地方的值都是一样的)。

由于TextField::scrollVint,您不能简单地降低它的速度。你可以使用@Kodiak的解决方案来减少滚动频率,这将导致移动速度较慢,但也不那么流畅。

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

最新更新