首页 > 代码库 > 触控手势算法
触控手势算法
protected virtual GestureType GetTranslateGestureType(double xOffset, double yOffset, double xyOffset, double minOffset) { if (Math.Abs(xOffset) < minOffset && Math.Abs(yOffset) < minOffset) return GestureType.None; if (xOffset / xyOffset < Math.Cos(165.0 * Math.PI / 180.0)) return GestureType.MoveLeft; if (xOffset / xyOffset > Math.Cos(15.0 * Math.PI / 180.0)) return GestureType.MoveRight; if (-yOffset / xyOffset > Math.Sin(75.0 * Math.PI / 180.0)) return GestureType.MoveTop; if (-yOffset / xyOffset < Math.Sin(-75.0 * Math.PI / 180.0)) return GestureType.MoveBottom; if (xOffset / xyOffset < Math.Cos(120.0 * Math.PI / 180.0) && xOffset / xyOffset > Math.Cos(150.0 * Math.PI / 180.0) && -yOffset / xyOffset < Math.Sin(120.0 * Math.PI / 180) && -yOffset / xyOffset > Math.Sin(150.0 * Math.PI / 180.0)) return GestureType.MoveLeftTop; if (xOffset / xyOffset < Math.Cos(240.0 * Math.PI / 180.0) && xOffset / xyOffset > Math.Cos(210.0 * Math.PI / 180.0) && -yOffset / xyOffset < Math.Sin(210.0 * Math.PI / 180) && -yOffset / xyOffset > Math.Sin(240.0 * Math.PI / 180.0)) return GestureType.MoveLeftBottom; if (xOffset / xyOffset < Math.Cos(30.0 * Math.PI / 180.0) && xOffset / xyOffset > Math.Cos(60.0 * Math.PI / 180.0) && -yOffset / xyOffset > Math.Sin(30.0 * Math.PI / 180.0) && -yOffset / xyOffset < Math.Sin(60.0 * Math.PI / 180.0)) return GestureType.MoveRightTop; if (xOffset / xyOffset < Math.Cos(-30.0 * Math.PI / 180.0) && xOffset / xyOffset > Math.Cos(-60.0 * Math.PI / 180.0) && -yOffset / xyOffset > Math.Sin(-60.0 * Math.PI / 180.0) && -yOffset / xyOffset < Math.Sin(-30.0 * Math.PI / 180.0)) return GestureType.MoveRightBottom; return GestureType.None; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。