SVG:Path:Moveto(M)是相对于原点的,而不是相对于网格的绝对值
我有个大问题 让我们说: viewbox=“0 50”SVG:Path:Moveto(M)是相对于原点的,而不是相对于网格的绝对值,svg,path,absolute,Svg,Path,Absolute,我有个大问题 让我们说: viewbox=“0 50” 现在的问题是: 问题是:M是大写的,所以我不知道为什么它不起作用 它不是在Viewbox中移动到-10,-10,而是移动到15,15等于(25-10),(25-10) 我完全不知道我在这里该做什么。。。我只希望圆圈从-10-10开始(在我的项目中,在viewbox之外的任何地方),然后在25,25结束,并保持在那里 起始位置是用random_int生成的,我生成了一堆圆 如何实现Moveto(M)采用绝对坐标而不是相对坐标?已解决: &
现在的问题是:
问题是:M是大写的,所以我不知道为什么它不起作用
它不是在Viewbox中移动到-10,-10,而是移动到15,15等于(25-10),(25-10)
我完全不知道我在这里该做什么。。。我只希望圆圈从-10-10开始(在我的项目中,在viewbox之外的任何地方),然后在25,25结束,并保持在那里
起始位置是用random_int生成的,我生成了一堆圆
如何实现Moveto(M)采用绝对坐标而不是相对坐标?已解决:
<circle id="circle3_1" r="10" opacity="1" fill="#FF0000">
<animateMotion
dur="5"
path="MStartX StartY C -101 -1010,-195 141, FinalX FinalY"
fill="freeze"/>
</circle>
可能将cx和cy设置为0。animateMotion中的路径表示一组变换&因此是到正在设置动画的元素位置的偏移量。您不能将其设置为绝对点(您可以使用Javascript来实现)。解决了它。。。我只是不给它任何位置,在第一个动画后重复制作一个999小时的动画,并将其移动到最终位置。难道你不想在第一个动画中使用fill=“freeze”,然后删除第二个动画。fill=“freeze”?以前从未听说过这会使.svg的大小减小30%左右
<circle id="circle3_1" r="10" opacity="1" fill="#FF0000">
<animateMotion
dur="5"
path="MStartX StartY C -101 -1010,-195 141, FinalX FinalY"
fill="freeze"/>
</circle>