/// <summary>二点の位置から閾値を超えた4方位を算出する</summary>
public static Vector2Int GetDir (Vector2 currentPosition, Vector2 lastPosition, float threshold, Vector2 dpi = default (Vector2)) {
var delta = (currentPosition - lastPosition) / ((dpi == default (Vector2)) ? new Vector2 (Screen.dpi, Screen.dpi) : dpi);
var adx = Mathf.Abs (delta.x);
var ady = Mathf.Abs (delta.y);
var dir = Vector2Int.zero;
if (adx > threshold || ady > threshold) {
dir = (adx > ady) ?
((delta.x < 0) ? Vector2Int.left : Vector2Int.right) :
((delta.y < 0) ? Vector2Int.down : Vector2Int.up);
}
return dir;
}