0

我正在使用适用于 iOS SDK 的 Flash AS3、AIR 3.2。我正在尝试使 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)。任何人都可以向我解释我将如何开始编写代码并使其即使在低速时也能顺利进行?

4

1 回答 1

1

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

于 2013-02-01T19:44:24.467 回答