【问题标题】:how to stop TweenLite and how to repeat a function with TweenLite如何停止 TweenLite 以及如何使用 TweenLite 重复功能
【发布时间】:2014-02-08 12:34:43
【问题描述】:

所以基本上我想用一个时间为 1 秒的 textField 制作一个闪烁效果。我只有一个“粗鲁”的代码,我认为它可以更容易地完成,但无法弄清楚如何让它循环。

我只有这个

private var myBlackText:TextField = new TextField();
    private var myRedText:TextField = new TextField();
    private var format:TextFormat = new TextFormat();

    public function Main()
    {
        this.addChild(myBlackText)
        myBlackText.defaultTextFormat = new TextFormat('Verdana',20,0x000000);
        myBlackText.x = 200
        myBlackText.y = 200
        myBlackText.text = "YOYO"


        this.addChild(myRedText)
        myRedText.defaultTextFormat = new TextFormat('Verdana',20,0xFF0000);
        myRedText.x = 200
        myRedText.y = 200
        myRedText.text = "YOYO"

        TweenLite.to( myRedText, 1, { alpha:0, onComplete:ShowRed });
        function ShowRed():void
        {
            TweenLite.to( myRedText, 1, { alpha:1, onComplete:HideRed });
        }
        function HideRed():void
        {
            TweenLite.to( myRedText, 1, { alpha:0, onComplete:ShowRed });
        }
        stage.addEventListener(MouseEvent.CLICK, onClick);
    }

    private function onClick(ev:MouseEvent):void
    {
        //how do I stop the TweenLite ????
    }

【问题讨论】:

    标签: actionscript-3 tween gsap


    【解决方案1】:

    如果你只想杀死补间,这尽可能简单。

    TweenLite.killTweensOf(myRedText);//will kill all tweens of myRedText
    

    如果你想在线上更简单,试试这个。

    TweenMax.to( myRedText, 1, {alpha:0, repeat:-1, yoyo:true} );
    

    解释:

    repeat=-1 表示永远重复。

    yoyo=true 表示从 1-0 和 0-1 做 Red 的 alpha

    所以整体是 Red 从 1-0-1-0-1 开始的 alpha...

    【讨论】:

    • 呵呵奇怪我怎么没找到这个到目前为止.10x,但任何提示如何使整个事情(循环效果)更令人赏心悦目?这个 Tweenlite 中是否有类似循环函数的东西
    • @GregorII 我觉得效果还可以,你说的a loop function是什么意思?
    • 重复想要的效果,直到点击舞台。我找到了这个var myTween:TweenMax = new TweenMax(mc2, 3, {y:200, repeat:2, repeatDelay:1, onComplete:myFunction});,如果我将 repeat 变量更改为 -1,它会永远重复这个,但不知道给它 2 个 alpha 变量,所以它从 0 到 1,然后从 1 到 0
    • 好吧……我发现的(上面的评论)不起作用。或者至少我不能让它起作用。我在做TweenLite.to( myRedText, 1, { alpha:0, repeat:-1, repeatDelay:1, onComplete:ShowRed}); function ShowRed():void { myRedText.alpha = 1 },它只做一次。即使我将 repeat 从 -1 更改为 10,它仍然会执行一次。
    • 正是我想要的。 10x
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2013-12-23
    • 1970-01-01
    相关资源
    最近更新 更多