我在隧道的开头有以下球代码:
body {
margin: 0; padding: 0; min-height: 100vh;
display: flex; align-items: center;
}
.container {
width: 100%; height: 160px;
background: #fbf2d4;
}
.ball {
width: 40px; height: 40px;
border-radius: 50%;
background: #f48024;
}
<div class="container">
<div class="ball"></div>
</div>
可以通过什么手段和技术来实现小球沿给定轨迹在某个隧道内运动的动画,如下图所示?
需要播放此动画。但是,在这样做之前,您需要了解为什么要开始以应用所选技术的必要手段。这是否是球移动的给定轨迹。或者它是一个从上下墙壁反弹的飞球。对于答案,这个选择无关紧要。最重要的是创建此类动画效果的实现及其详细说明。

带有控制按钮的 AnimateMotion 变体
在我看来,最困难的事情是创建一个逐像素的轨迹,就像问题中的图片一样,所以我会更详细地讨论它。
*.svgpath从文件中复制,这里将是命令中的运动轨迹<mpath><mpath xlink:href="#trace" />animateMotion小球运动的动画命令一键
forward- 一个动作,只前进几个按钮,,,
forward-向前,从中间,middle向后back带有PNG图像的变体
位图也可以在 SVG 中进行动画处理。
取而代之
circle的是,拍摄网球的位图图像。使用 JavaScript 更改绝对位置值的选项:
让我们添加第二个球:
两个球
添加第二个球时,您将需要第二个
path运动轨迹。为此,在矢量编辑器中,复制第一个球的第一个路径并垂直翻转副本:
在代码中,所有内容都是双倍数量:2 条球运动路径,2 个开始按钮:
试图做类似的事情,只适用于 Chromium 浏览器。
--leftPercent--topPercent这是浏览器屏幕上圆圈的位置。0 - 开始,100 - 结束