在XNA中获取Flick手势的起始位置

本文关键字:位置 XNA 获取 Flick | 更新日期: 2023-09-27 18:23:59

我正在使用XNA的MonoGame实现来创建一个Windows Phone游戏。玩家应该能够使用轻弹手势在关卡中移动对象。我正在使用TouchPanel类来读取手势。

以下是我如何初始化触摸面板:

TouchPanel.EnabledGestures = GestureType.Flick;

以下是我如何阅读Update方法中的手势:

while (TouchPanel.IsGestureAvailable)
{
    var g = TouchPanel.ReadGesture();
    ...
}

然而,唯一被填充的字段是Delta矢量。但是,我如何找到用户开始手势的位置呢?

由于我希望我的游戏是跨平台的,所以我不能依赖非XNA代码,如Silverlight手势处理程序。

在XNA中获取Flick手势的起始位置

使用Flick手势移动对象不是一个好主意,因为Flicks是无位置的
您应该使用HoldFreeDrag手势,检测对象,然后在屏幕上移动它
Flick的目的只是缩放,我建议你选择另一个手势。