首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测量补间对象的速度

测量补间对象的速度
EN

Stack Overflow用户
提问于 2013-06-11 22:17:56
回答 2查看 54关注 0票数 0

我已经用tweenlite补间了一个对象(它的x属性),我想在给定的时刻测量补间期间的瞬时速度。

我知道我可以做一个数组,不断记录onUpdate上最近的x值,然后取差值。但是有没有更有效的方法来做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-11 22:40:06

我不明白为什么你需要速度,但是,这是一个简单的数学问题。您已经知道对象将行进的距离以及到达目的地所需的时间。所以,

speedTimeUnit = distanceTraveled/timeNeededToArrive;

或者如果你需要知道帧的速度

speedFramesUnit = distanceTraveled/(timeNeededToArrive*frameRate);

当然,这是在时间以秒为单位的情况下...

票数 0
EN

Stack Overflow用户

发布于 2013-06-11 22:41:03

不,没有其他方法来衡量它。

无论如何,你需要知道两点之间的距离和移动的时间,如果你在时间线上有动画,唯一的方法就是知道这些参数来测量它。如果补间是线性的,您可以存储初始位置和时间戳,并且在任何时刻瞬时速度将为:

代码语言:javascript
复制
    var origPos:Point = new Point(obj.x, obj.y);
    var origTimestamp:Number = getTimer();
    var currentPos:Point = new Point();

    currentPos.x = obj.x;
    currentPos.y = obj.y;
    var speed:Number = currentPos.subtract(origPos).length/(getTimer() - origTimestamp);

如果你不确定补间是否更瘦,请在每次测量后更换origPosorigTimestamp

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

https://stackoverflow.com/questions/17046393

复制
相关文章

相似问题

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