在Snap.svg中操作路径或重绘它?

gan*_*ang 5 javascript svg snap.svg

对于像这样的元球动画:http://paperjs.org/examples/meta-balls/我在snap.svg中创建一个连接两个圆的路径.它看起来像这样:

<path d="M171 370 C207, 335, 493 335, 529 370 C493, 335, 493 264, 529 229 C493, 264, 207 264, 171 229 z"></path>
Run Code Online (Sandbox Code Playgroud)
  1. 什么会更好:重绘每个帧上的路径或操纵它?
  2. 我该如何操纵路径?(即移动点和控制点)

如果它超过两个圆圈,我想重新绘制将是要走的路.

gan*_*ang 2

只需更新路径的 d 属性即可。

<path id="p" d="M171 370 C207, 335, 493 335, 529 370 C493, 335, 493 264, 529 229 C493, 264, 207 264, 171 229 z"></path>
Run Code Online (Sandbox Code Playgroud)

首先选择路径(如果尚未存储在变量中):

var path = Snap("#p");
Run Code Online (Sandbox Code Playgroud)

然后更新:

path.attr({
    d: newD
});
Run Code Online (Sandbox Code Playgroud)