如何在 anime.js 中沿运动路径获取点

How to get points along motion path in anime.js

我正在使用 anime.js.

沿 SVG 路径制作动画

我已经从 here 复制了示例,一切正常。

我希望能够一次获得补间路径上的所有 x 点和 y 点(即在我的脚本初始化时,而不是补间时的一个点)用于制作静态形状,但是我不知道从哪里开始。我看过 source code 但不确定是否有可用的功能。

我知道根据补间的持续时间会有更多或更少的分数。使用标准补间,比如从 0 - 250 移动,我可以想象如何在从和到之间进行计数,但是因为路径不是简单地增加,而是上升和下降,我不知道我会去获取积分。

抱歉,如果这个问题不清楚,我希望我已经清楚地说明了我的问题,但如果您需要更多信息来提供建议,请询问。

谢谢

<path> 元素有几个您应该会发现有用的方法。

  • getPointAtLength(length) 获取沿路径
  • 的点 length 的 X,Y 坐标
  • getTotalLength() 获取路径总长度

典型用法示例:

var  mypath = document.getElementById("mypath");
var  pathLength = mypath.getTotalLength();
var  pt = mypath.getPointAtLength(pathLength / 2);  // halfway along the path
console.log("x="+pt.x+" y="+pt.y);