对Paper.js路径段进行动画处理并处理信息

艾伦

我正在尝试使用Paper.js和Tween.js在两个复杂路径之间建立动画。我已经很接近了,我可以将路径中的所有点移动到正确的最终位置,但是每个段的handleIn和handleOut都有问题。它似乎没有更新它们。

这是我的代码:http : //codepen.io/anon/pen/rVBaZV?editors=101

var endPathData = 'M740,342.9c-32,...etc...';
var endPath = new Path(endPathData);
endPath.fillColor = '#4CC7A4';

beginPathData = 'M762.8,262.8c-48,...etc...';
var beginPath = new Path(beginPathData);
beginPath.fillColor = '#FFC1D1';

var numberOfSegments = beginPath.segments.length;

for (var i = 0; i < numberOfSegments; i++) {
    var tween = new TWEEN.Tween(beginPath.segments[i].point)
        .to({
        x: endPath.segments[i].point.x,
        y: endPath.segments[i].point.y
    }, 3000)
        .easing(TWEEN.Easing.Linear.None)
        .start();
}

view.draw();

view.onFrame = function (event) {
    TWEEN.update();
};

我希望粉红色的路径与绿色的路径完全一样,但是现在我被卡住了。反正有实现这个目标的方法吗?

丹尼尔·基普(Daniel Kipp)

您也需要补间手柄。每个段都有两个句柄:segment.handleIn和segment.handleOut

在示例代码中,您在segment.point(分段位置)之间进行了补间,从而得到了分段的正确位置。

我不知道您的Tween库,因此要实现它取决于您。但是看起来您可以为其中添加更多新的补间

beginPath.segments[i].handleIn

还有一个

beginPath.segments[i].handleOut

通过让paperjs简化路径并处理句柄,您可以轻松地检查代码是否正确。通过像这样更新onFrame函数:

view.onFrame = function (event) {
    TWEEN.update();
    beginPath.smooth();
    endPath.smooth();
};

这导致了相同形状的路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

锚定到路径时在Paper.js中对多个项目进行动画处理

来自分类Dev

锚定到路径时,在Paper.js中对多个项目进行动画处理

来自分类Dev

对使用Paper.js绘制的圆进行动画处理

来自分类Dev

如何对菜单按钮(如Facebook Paper应用程序)进行动画处理/变形

来自分类Dev

Paper.js中的事件处理程序

来自分类Dev

Paper.js中的事件处理程序

来自分类Dev

paper.js赛道

来自分类Dev

Paper.js动画路径在单击时移动

来自分类Dev

未定义Paper.js段

来自分类Dev

未定义Paper.js段

来自分类Dev

使用Paper.js补间动画

来自分类Dev

图上的paper.js动画点

来自分类Dev

Paper.js中的动画颜色

来自分类Dev

Paper.js矢量操作

来自分类Dev

带Webpack的Paper.js

来自分类Dev

Paper.js矢量操作

来自分类Dev

Paper.js - 导出光栅

来自分类Dev

Paper.js之字形路径

来自分类Dev

Swift:沿动画路径对对象进行动画处理

来自分类Dev

对圆形路径上的圆进行动画处理

来自分类Dev

在圆形路径中对GMSMarker进行动画处理

来自分类Dev

MatrixAnimationUsingPath在路径的周围(轮廓)上进行动画处理

来自分类Dev

在WPF中对路径进行动画处理

来自分类Dev

对正弦路径上的元素进行动画处理

来自分类Dev

在圆形路径中对GMSMarker进行动画处理

来自分类Dev

对Raphael元素及其发光路径集进行动画处理

来自分类Dev

在BonsaiJS中沿路径对电影进行动画处理

来自分类Dev

捕捉SVG:在路径上进行动画处理

来自分类Dev

使用d3js对SVG路径进行动画处理