首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吐温育育是永久的

吐温育育是永久的
EN

Stack Overflow用户
提问于 2013-01-17 11:41:25
回答 1查看 894关注 0票数 0

最初的目标是在event1上和通常在event2上反向播放动画。所以我用了这个代码:

代码语言:javascript
复制
/* some imports */
public class Element extends MovieClip {
        private var tween:Tween;

        public function Element() {
            tween = new Tween(this, "y", Regular.easeInOut, -this.height, 0, 0.7, true);
            tween.stop();

            this.addEventListener(event1, reverse);
            this.addEventListener(event2, normal);
        }

        private function reverse(e:Event1) {
            tween.yoyo();
        }

        public function normal(e:Event2) {
            tween.stop();
            tween.rewind();
            tween.start(); 
        }
}

现在我测试它: 1. Event1发生,动画正常播放2. Event2发生,动画在反向播放3. Event1 1发生,动画播放反向。

由于一些奇怪的原因,悠悠球不知何故是永久的。我知道一些解决办法,比如为每个动画创建新的吐温,检查yoyo是否已经被使用,等等。

这是预期的行为吗?在adobe中,我读到了关于begin和finish道具的文章,它们都有“在创建新的吐温实例或调用Tween.yoyo()方法时将此属性设置为参数”。我有手动重置它们吗?

不希望使用Tweenmax、tweenlite或任何外部库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 12:49:43

手册说,为了让你的孩子再次正常运行,请调用另一个yoyo()。不幸的是,吐温本身并没有提供任何提示,如果它是yoyo现在,所以你需要跟踪这个。

代码语言:javascript
复制
    private var tween:Tween;
    private var tween_yoyo:Boolean;
    private function reverse(e:Event1) {
        if (!tween_yoyo) tween.yoyo();
        else {
            tween.stop();
            tween.rewind();
            tween.start(); 
        }
        tween_yoyo=true;
    }

    public function normal(e:Event2) {
        if (tween_yoyo) tween.yoyo();
        else {
            tween.stop();
            tween.rewind();
            tween.start(); 
        }
        tween_yoyo=false;
    }    
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14378288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档