我发现了这一点,但不知道如何放慢速度:
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);
}
}
答案 0 :(得分:1)
您可以使用ENTER_FRAME
替换Timer
上的侦听器:然后您将通过在计时器上使用更大的延迟来减慢滚动速度。
或者您可以用较小的数字更改所有“1”(然后您应该使用常量来确保在更改它时各处的值相同)。
答案 1 :(得分:0)
由于TextField::scrollV
是int
,因此您不能简单地放慢速度。你可以使用@ Kodiak的解决方案来减少滚动频率,这会导致移动速度变慢,但也不太流畅。
或者,您可以查看DisplayObject::scrollRect
。这将允许您根据像素而不是文本行滚动。