【问题标题】:Animate footprints along a path沿路径为足迹设置动画
【发布时间】:2019-12-20 08:41:01
【问题描述】:

我从这个有动画脚印的pen 获得灵感。我的问题是如何将它与给定的轨迹结合起来,以便脚印只会跟随路径?我的路径是这样的:

<svg id="svg" width="800" height="800">
    <path id="path" d="M130 20 L230 80 L200 100 L170 200"/>
    <image id="footprint" xlink:href="http://icons.veryicon.com/png/System/Icons8%20Metro%20Style/Tracks%20Footprints%20Left%20shoe.png" x="0" y="0" height="50px" width="50px"/>
</svg>

非常感谢您的帮助!

【问题讨论】:

  • 也许这对你有帮助。 youtube.com/watch?v=Tae96ze3xwY 因为它们在路径上的滚动上为文本设置动画。
  • 我很想将这样的脚步动作保持在笔中。我知道我可以使用 animateMotion 来移动足迹,但运动不应该是连续的

标签: javascript css animation svg


【解决方案1】:

为此,我建议您使用 GREENSOCK,重量轻,易于使用且充满动画,无论您在场景中需要什么

也许这会对你有所帮助

<img src="https://res.cloudinary.com/dwr6mqx2g/image/upload/v1489592258/leftfoot_hjajqj.svg" id="leftfoot">
      <img src="https://res.cloudinary.com/dwr6mqx2g/image/upload/v1489592258/rightfoot_fthak3.svg" id="rightfoot">

一些JS

var $rightfoot = $("#rightfoot"),
    $leftfoot = $("#leftfoot");

var tl = new TimelineMax({repeat:-1})



  var ease = SteppedEase.config(5);

tl

  .to($rightfoot, 0.25, {autoAlpha:1,},1)
  .to($leftfoot, 0.25, {autoAlpha:1,},1)
  .to($leftfoot, 3, 

  {bezier:{ curviness: 1, values:[{x:0, y:0},{x:52, y:-25}, {x:97, y:-39}, {x:136, y:-54}, {x:172, y:-83}, {x:197, y:-117},{x:200, y:-163,}],
  autoRotate:90}, ease:ease},1)

  .to($rightfoot, 3, 
  {bezier:{ curviness: 1, values:[{x:0, y:0}, {x:44, y:-13}, {x:97, y:-28,}, {x:134, y:-49,}, {x:166, y:-83,}, {x:182, y:-126,}, {x:176, y:-163,}],
  autoRotate:100}, ease:ease},1.25)

参考

Codepen

学分珍娜

【讨论】:

  • 非常感谢您提供这些!你知道我的路径数据在这种情况下如何组合吗?轨迹需要遵循 其中路径数据在 d 中给出。在您的回答中,这似乎是在贝塞尔曲线和 .to 中任意给出的
  • 不完全是@saladham。可能这可以帮助stackoverflow.com/questions/25384052/…
猜你喜欢
  • 2012-07-14
  • 2021-05-16
  • 1970-01-01
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多