【发布时间】:2020-11-09 18:40:10
【问题描述】:
我有一个网球的图像:
有必要制作一个球落下的动画,随后从固体表面反弹。
我得到了这种动画,但看起来不太真实:
要开始动画,请点击图片:
<svg id="svg1" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="200" height="200" viewBox="0 0 200 200" preserveAspectRatio="xMinYMin meet" style="border:1px solid" >
<image xlink:href="https://i.stack.imgur.com/hXyA5.png" x="82" width="25px" height="25px" >
<animateTransform attributeName="transform" type="translate" dur="1s" begin="svg1.click" values="0,0;0,168;0" repeatCount="3" />
</image>
<polyline points="5,190 190,190" stroke="silver" stroke-width="4" />
</svg>
第一次反弹小于球落下的高度,第二次反弹小于第一次反弹的高度,第三次反弹小于第二次。
您是如何做到这一点的?解决方案可能在 SMIL SVG、CSS、JS 上
首选 SMIL SVG 解决方案。
【问题讨论】:
-
这是一个来自 css-tricks.com 的工作示例 - codepen.io/SaraSoueidan/pen/ecd0f3197b5fc0d7950ed94cc8afb97f
-
@imvain2 非常感谢,我不会删除问题。我也想获得 CSS 和 JS 解决方案。您可以填写您的答案并链接到答案中的来源加上保证,如果没有添加其他解决方案,可能是一个解决方案
标签: javascript html css svg smil