为了账号安全,请及时绑定邮箱和手机立即绑定

TweenMax 怎么不是递减 元素的 x,y 属性数值?

TweenMax 怎么不是递减 元素的 x,y 属性数值?

梵蒂冈之花 2019-04-06 08:31:39
下面的代码,使用TweenMax的onUpdate方法this.detaibaseInfo2=newSprite();with(detaibaseInfo2){x=30;y=700;with(graphics){beginFill(0x826b45,1);drawRect(0,0,240,20);endFill();}}addChild(detaibaseInfo2);TweenMax.to(detaibaseInfo2,0.2,{y:260,onUpdate:detaibaseInfo2Update,ease:Strong.easeOut});但是测试了一下:privatefunctiondetaibaseInfo2Update():void{trace("detaibaseInfo2.y="+detaibaseInfo2.y);if(detaibaseInfo2.y
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

对于你输出的结果,居然有几个值是一样的,
我尝试你的代码,输出如下detaibaseInfo2.y=678.4
detaibaseInfo2.y=428.15
detaibaseInfo2.y=354.35
detaibaseInfo2.y=285.3
detaibaseInfo2.y=271.8
detaibaseInfo2.y=261.55
detaibaseInfo2.y=260.3
detaibaseInfo2.y=260
detaibaseInfo2.y=260可能的原因:你swf输出设置的帧频太小尝试换掉Strong,用比如Expo来获取跳跃没那么大的缓动如果真的是处理其他脚本影响了动画的执行,尝试替换TweenMax为Tweenlite来提高效率
                            
查看完整回答
反对 回复 2019-04-06
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

Greensock的文档中有提到对ease强度的分级,从0到4,strong是4,是加速度最强的easing,在你只tween了0.2秒的动画中,这么强的加速度当然会造成数值的剧烈变动,你想,整个动画才0.2秒时间结束,总共才trace了9次,对象在0.2秒内以最高的加速度移动440像素,那当然一下子就得跳过一半距离了……亲你急速堆太高了……
如果你说为什么第一条不是700,因为是先update再trace的,trace出来的永远是本次update完成时的y值
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 328 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号