現在、マウスの入力方向を検出する機能があります。以下に示すように、各セクションの整数 (0 ~ 3) を返します。
この関数を変更して、この図に基づいて出力を生成する方法を見つけようとしています。
基本的に、ユーザーが画像を左から入力しているか右から入力しているかを把握したいだけです。試行錯誤を何度か試みましたが、この種の数学はあまり得意ではありません。
例として、コンソール出力を使用して JSFiddle をセットアップしました。
方向を決定する関数は次のとおりです。
function determineDirection($el, pos){
var w = $el.width(),
h = $el.height(),
x = (pos.x - $el.offset().left - (w/2)) * (w > h ? (h/w) : 1),
y = (pos.y - $el.offset().top - (h/2)) * (h > w ? (w/h) : 1);
return Math.round((((Math.atan2(y,x) * (180/Math.PI)) + 180)) / 90 + 3) % 4;
}
pos
はオブジェクト:{x: e.pageX, y: e.pageY}
で、$el
はターゲット要素を含む jQuery オブジェクトです。