0

我正在尝试编写一个小型 javascript 库来帮助使用 paper.js 对形状进行动画转换,但不幸的是,这种图形/数学并不是我的主要优势!

我已经能够通过每帧进行小的转换来实现简单的转换,例如平移和旋转,但我无法计算出累积缩放形状的数学。

例如,我的翻译动画代码的粗略伪代码版本:

function rotateAnimation(shape, degrees, timeSecs) {
    var anglePerSecond = degrees / timeSecs,
        duration = timeSecs;
    shape.onFrame = function(e) {
        var timePassedSinceLastFrame = e.delta, // in seconds
            rotateAmount = anglePerSecond * timePassedSinceLastFrame;
         shape.rotate(rotateAmount);
         duration -= timePassedSinceLastFrame;
    }
}

我不知道如何使这种方法适用于缩放,因为我不知道如何计算每帧的缩放量。如果有人对此有任何建议,将不胜感激!如果您想查看实际代码,而不是我上面的混蛋伪代码,它在 github 上:https ://github.com/jordanwallwork/paper.animate/blob/master/paper.animate.js

编辑:剪毛也有同样的问题!

4

1 回答 1

0

最后,我对此的解决方案不是以增量步骤计算比例/剪切,而是执行转换以计算所需的结果,然后使用我已经编写的翻译代码分别简单地为每个点设置动画

于 2013-02-05T20:34:28.750 回答