2014-01-11 11 views
5

このようなメタボールアニメーションの場合:http://paperjs.org/examples/meta-balls/私は2つの円をつなぐsnap.svgのパスを作成しています。 それは次のようになります。Snap.svgのパスを操作するか、再描画しますか?

<path d="M171 370 C207, 335, 493 335, 529 370 C493, 335, 493 264, 529 229 C493, 264, 207 264, 171 229 z"></path> 
  1. 何が良いだろう:各フレーム上のパスを再描画するか、それを操作するために?
  2. パスをどのように操作できますか? (つまり、ポイントとコントロールポイントを移動する)

2つ以上の円であった場合は、再描画を行うことをお勧めします。

+1

は、あなたがパスを計算する関数を持っていますか?人々はいつも一緒に遊んでテストするために、いつでもそれをjsfiddleに置くことができます。私の直感は、スクリーン上のアニメーションの残りの部分が(他のプロジェクトの一部であるか、スタンドアロンであるかを知るのは難しい)形式で、再描画などを試みることです。おそらく、マウスイベントが変化したときなどに、d属性を変更するだけかもしれません。あなたがすでに持っているコードを見ずに告げるのは難しいです。 – Ian

答えて

1

パスのd属性を更新するだけです。

<path id="p" d="M171 370 C207, 335, 493 335, 529 370 C493, 335, 493 264, 529 229 C493, 264, 207 264, 171 229 z"></path> 

まずセレクトパスがすでに変数に格納されていない場合:

var path = Snap("#p"); 

[更新:

path.attr({ 
    d: newD 
}); 
関連する問題