2
我在做一個運動檢測程序,並且想要確定一個人是否正在順時針或逆時針移動他們的手。有人會知道這樣做的最好方法嗎? (我在AS3編碼,但任何ECMA類似的代碼會有所幫助)。確定圓形運動的方向
我相信一種方法是確定,例如,左右是由一個上下還是一個自下而上,等等 - 有沒有更好的方法?
我在做一個運動檢測程序,並且想要確定一個人是否正在順時針或逆時針移動他們的手。有人會知道這樣做的最好方法嗎? (我在AS3編碼,但任何ECMA類似的代碼會有所幫助)。確定圓形運動的方向
我相信一種方法是確定,例如,左右是由一個上下還是一個自下而上,等等 - 有沒有更好的方法?
如果有的參考(0,0)的點,則可以品嚐隨時間的角度變化:
var sprite:Sprite = new Sprite();
var samples:Array = [];
setInterval(function(){
var len = samples.push(Math.atan2(sprite.mouseY,sprite.mouseX));
if (len >=2) {
if (samples[len-2]-samples[len-1] > 0) {
// clockwise
} else {
// counter-clockwise
}
}
},1000/stage.frameRate);
基準是左上子畫面的(或其天然0, 0點atan2
),所以這段代碼對鼠標的座標進行採樣。
此外,您考慮的樣本越多(我只是抽樣2 samples[len-2]
和samples[len-1]
),對cw或ccw的決策就越好。
最後,也是最重要的一點,我的腳本確實在弧度計算中考慮負數,它假設一切都是正的 - 這需要一些微調。注意:由於數組長度會最大,所以您現在需要清除samples
。
我的腳本不完整,歡迎編輯,建議和闡述。我的希望是它給你一些需要考慮和努力的東西。