2017-02-28 60 views

回答

1

你可以將其存儲在自己的定製對象。讓事件偵聽器監聽到每個mousemove事件它被點擊之後:

var pointArray = []; 

onMouseMove(event){ 
    var pointData = { 
     x: event.screenX, 
     y: event.screenY, 
     time: Date.now() 
    } 

    pointArray.push(pointData); 
} 

現在你有一個長pointArray充滿位置&時間的信息!順便說一下,每秒存儲數據10次沒有意義,因爲如果鼠標不移動,只會獲得冗餘信息。最好只聽mousemove

+0

有道理。我會考慮這個。 – AxlSmith

+1

爲什麼在所有鼠標事件都具有高分辨率時間戳時使用Date對象。 'event.timeStamp'以毫秒爲單位精確到1微秒 – Blindman67

+0

我剛剛在FFox中​​測試了你的方法,並且在值改變之前我有124'console.logs',它讀取'18446744072697221000'。 Date.now()'有更好的結果。 – Marquizzo

0

任何行可以表示爲個點的數目。如果您存儲每個點的時間戳,則可以推斷該線上任意兩點之間的平均速度。

Paper.js上面鏈接的是一個有趣的JS代表路徑的例子。我建議研究現有的庫來創建和表示Javascript中的路徑。從長遠來看,與爲自己的圖書館寫入功能相比,它會節省您的時間。

這是一個相關的堆棧溢出答案有關Javascript繪圖庫的差異。

+0

時間戳是個好主意。我擔心平均速度不夠,所以可能無法正常工作。無論如何,我會進一步調查該方法... – AxlSmith