【发布时间】:2018-11-24 18:09:09
【问题描述】:
我正在尝试使用 SMIL 声明制作 SVG 动画,但不是在两条路径之间获得平滑过渡,而是从一条路径立即过渡到另一条路径,而且它似乎与时间无关动画的持续时间。有人可以帮我解决这个问题吗,我真的很想顺利过渡,由于文件大小,最好在 SMIL 中。
代码如下:
<svg
width="130mm"
height="130mm"
viewBox="0 0 130 130">
<path d="M29.392899 105.03816999999998C31.388397 106.80194999999998 33.532246 108.42680000000001 35.757774 109.88056 37.428773 110.97210000000001 39.145833 111.96722 40.880677 112.85228000000001L35.993332 109.52785Z" fill-rule="nonzero" fill="#070707">
<animate dur="8s" repeatCount="indefinite" attributeName="d" values="M29.392899 105.03816999999998C31.388397 106.80194999999998 33.532246 108.42680000000001 35.757774 109.88056 37.428773 110.97210000000001 39.145833 111.96722 40.880677 112.85228000000001L35.993332 109.52785Z;M27.107598 102.89224000000002C31.114479 106.89909999999998 36.14859 110.43669 41.10393 112.96472999999997L30.967228 104.24995000000001 21.295187 95.93468999999999C23.088927 98.51334000000003 24.941479 100.72611999999998 27.107598 102.89224000000002Z;M29.392899 105.03816999999998C31.388397 106.80194999999998 33.532246 108.42680000000001 35.757774 109.88056 37.428773 110.97210000000001 39.145833 111.96722 40.880677 112.85228000000001L35.993332 109.52785Z" fill="freeze"
calcMode="spline"
keySplines="0.1 0 0.51 1; 0.61 0.01 0.89 1">
</path>
</svg>
【问题讨论】:
-
您每次都需要以相同的顺序执行相同数量和类型的路径命令。你有吗?乍一看,动画路径看起来更长。
-
那是因为在动画路径中我必须放置初始路径的坐标;最终路径的坐标;以及初始路径的坐标,以便它甚至动画。
标签: html svg svg-animate