私はベースとしてSVGを取るありがとうございます。そのようなInkscape(または同様のもの)を使用すると、パスを視覚的にデザインし、青い円を含めることができます。
最後にあなたは円とパス参照するためにJavaScriptを使用することができます:
をあなたは(生成されたファイルから、SVGコードをコピーして)ので、同じようにHTMLでのSVG-コードを挿入するよりも
var path = document.querySelector('.path'), //these selectors are just arbitrary
circle = document.querySelector('.circle');
は、パス上のポイントを取得するには、使用することができます:アニメーションの
var point = path.getPointAtLength();
、私はあなたが基本的にそれを行う方法を知っていると仮定します。これは、ここで説明するにはあまりにも多くなるからです。しかし、p
があなたのアニメーションの進行状況で、[0,1]の範囲にあると言うことができます。与えられたp
でポイントを計算するには、そのように行うことができる:
let pointAtT = (path, t) => {
let l_total = path.getTotalLength();
return path.getPointAtLength(l_total * t);
}
は、その持つ、あなたはx
とy
が円を操作するために座標を使用することができます。場合によっては変換を適用することに注意してください。そのため、すべてをグローバル座標空間に変換し、そこで計算し、その結果をアイテムの座標空間に変換することをお勧めします。 svg.js、snap.svgとRaphaël:mdn
上
ドキュメントはあなたを助けるかもしれないいくつかのSVGライブラリがあります。
[jQueryパスライブラリ](https://github.com/weepy/jquery.path)をお試しください。デモページを確認してください - あなたのニーズに合わせて簡単に修正できる正弦波の例があります –
この質問は意見が広すぎる、意見が必要な、またはディスカッションが必要なので、スタックオーバーフローに関するトピックです。具体的な、解決可能な、プログラミングの問題がある場合は、詳細を記入してください。 –