2017-09-13 8 views
0

配列として格納されたマウスパスを記録しました。開始点と終了点が異なるマウスパスを繰り返します

record: function(selector) { 
    var target = document.querySelector(selector); 
    this.target = target; 
    target.addEventListener('mousemove', (event) => { 
     if (!event.isTrusted) 
      return false; 

     var x = event.pageX - target.offsetLeft; 
     var y = event.pageY - target.offsetTop; 

     this.addPoint(x, y); 
    }); 
} 

他の開始座標と停止座標で記録パスを繰り返すにはどうすればよいですか? 誰かがコードサンプルやライブラリを提供できますか?例えば

[0, 1] [0, 2] [0, 3] [0, 4] 

開始点は[0、1]と終了点[0,4]です。 同じパスを繰り返すが、開始点と終了点が異なる。 「誰かがコード例またはライブラリを提供してもらえますか?」、Paper.js(http://paperjs.org/features/#vector-geometry)を見て、ベクトルジオメトリ(https://scriptographer.org/tutorials/geometry/vector-geometry)上の彼らのチュートリアルに関して

+0

開始点と終了点を同じにすることができるようにするには、パスを翻訳しても問題ありませんか? origが[0、1] [0,2] [0,3] [0、4]であるとします。 [0、-1]と[0、-7]を選択すると、パスは[0、-1] [0、-3] [0、-5] [0、-7](伸びて行く別の方向に)。 – Stucco

+0

絶対位置ではなく、デルタとしてパスを作成します。だからあなたが[2、0]で始まってyで5ずつ上がったら、あなたは[0、5]と入力して、あなたが5で上がったということを意味します。同様に、yが3、xが2であれば、[-2、3]となります。それぞれの座標が1つのポイントと次のポイントの違いを表示していることを考えると、あるポイントで開始してからデルタを1つずつ順番に適用するのは簡単です。 –

答えて

関連する問題