操作脚本 3 - 如何在屏幕上循环补间/自动滚动文本字段



我正在使用Flash AS3,AIR 3.2 for iOS SDK。我正在尝试使 TextField 出现并从屏幕右侧自动补间到左侧,消失,然后循环从右侧再次出现。

试图弄清楚我将如何开始编写这个代码以及它背后的逻辑。目前,我有一个名为MarqueeTextField的类,它正在执行滚动。但它只是滚动/选框字母字符到字符,而不是屏幕上的点到点。当以低速滚动且不流畅时,它也会"卡顿"。

public class MarqueeTextField extends TextField
{
    /** Timer that ticks every time the marquee should be updated */
    private var __marqueeTimer:Timer;
    /**
    *   Make the text field
    */
    public function MarqueeTextField()
    {
        __marqueeTimer = new Timer(0);
        __marqueeTimer.addEventListener(TimerEvent.TIMER, onMarqueeTick);
    }
    /**
    *   Callback for when the marquee timer has ticked
    *   @param ev TIMER event
    */
    private function onMarqueeTick(ev:TimerEvent): void
    {
        this.text = this.text.substr(1) + this.text.charAt(0);
    }
    /**
    *   Start marqueeing
    *   @param delay Number of milliseconds between wrapping the first
    *                character to the end or negative to stop marqueeing
    */
    public function marquee(delay:int): void
    {
        __marqueeTimer.stop();
        if (delay >= 0)
        {
            __marqueeTimer.delay = delay;
            __marqueeTimer.start();
        }
    }
}
}

我已经搜索过,似乎没有任何只使用 AS3(他们使用 Flash GUI)。有人能够向我解释我如何开始编码并使其即使在低速下也能流畅吗?

如果你真的必须,你可以随时使用GreenSock的补间引擎。只需导入包并简单地使用 TweenLite.to() .此外,看起来您只是在插入文本,而不是实际更改文本框的位置。

最新更新