首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有人能建议一种可以按需停止的移动高效旋转功能?

有没有人能建议一种可以按需停止的移动高效旋转功能?
EN

Stack Overflow用户
提问于 2011-02-12 09:23:37
回答 1查看 175关注 0票数 0

我有一个mxml饼图,我想在单击按钮之前缓慢地旋转它,但是在单击时它需要立即停止(或至少相当快地停止),然后使用淡入淡出引入标注标签。

我用过这两个计时器函数来实现这一点:

代码语言:javascript
复制
protected function group1_creationCompleteHandler(event:FlexEvent):void
        {
            var rt:Timer = new Timer(20,0);
            rt.addEventListener(TimerEvent.TIMER, rtt);

            rt.start()
        }

        private function rtt(event:TimerEvent):void
        {
            QPieSeries.startAngle -=1;
        }

以及一个callLater变体,它(不出所料)提供了相同的效果:

代码语言:javascript
复制
protected function group1_creationCompleteHandler(event:FlexEvent):void
        {
            rtt();
        }

        private function rtt():void
        {
            QPieSeries.startAngle -=1;
            callLater(rtt);
        }

然而,我的问题是,这两种获得这种效果的方法在性能上都非常差,这在重复触发和接收大量事件时是可以理解的。

我一直在尝试使用var rotateVar:Rotate = new Rotate(QPieSeries)方法,但当我停止它时,问题就来了,在没有应用QPieSeries.startAngle方法的情况下,标签与段不匹配,而且这有导致跳转等的习惯,并且当应用于任何类型的循环时,通常都会破坏东西。

我认为我真正想做的(好吧,因为它可能导致一个可行的解决方案)是,在定时循环中的某种QPieSeries.startAngle = 60,以及某种插值效果?并且在某种定义的时间段上与循环的时间段相匹配。

然而,这超出了我的能力范围,如果有人对此有任何建议/意见,我将不胜感激。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-12 17:41:19

您应该考虑使用补间类库,如TweenLiteTweener。您可以使用它们随时间改变任何对象的任何参数,并且它们在任何时间对所有动画使用单个帧/计时器循环。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4975690

复制
相关文章

相似问题

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