【问题标题】:Move an SVG object along a line or a path沿线或路径移动 SVG 对象
【发布时间】:2014-06-27 02:04:03
【问题描述】:

我想为 SVG 对象设置动画,使其遵循我从 d3.js 中的行生成器构建的 SVG 路径。有没有简单的方法来实现这一目标?特别是,我想获得与我的路径相对应的插值坐标。从那里,很容易使用 tween.js 或 d3.js 本身来执行动画。

【问题讨论】:

    标签: animation d3.js


    【解决方案1】:

    您或许可以修改此示例:http://bl.ocks.org/mbostock/1705868

    在这种情况下,使用 SVG 的 getTotalLength 和 getPointAtLength 沿 SVG 路径平移一个圆。您应该能够用任何 SVG 对象替换圆圈。

    【讨论】:

    • 刚刚发现这有多大了......对不起!
    【解决方案2】:

    据我所知,在 D3 中无法轻松获取插值 SVG 路径的坐标,即您可能必须自己进行插值。

    要沿该路径为 SVG 对象设置动画,您不需要使用 D3。您可以使用 SVG <animateMotion> 元素来获得原生 SVG 动画——例如,请参阅 here

    【讨论】:

    • 示例链接离线。只是提醒一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 2011-09-03
    • 2019-04-10
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多