【问题标题】:Getting start location of Flick gesture in XNA在 XNA 中获取 Flick 手势的起始位置
【发布时间】:2013-07-20 16:37:14
【问题描述】:

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

这是我如何初始化 TouchPanel:

TouchPanel.EnabledGestures = GestureType.Flick;

这是我在Update 方法中读取手势的方式:

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

但是,唯一填充的字段是 Delta 向量。但是如何找出用户开始手势的位置?

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

【问题讨论】:

  • XNA 文档说 Flicks 是无位置的,因此它的行为符合设计。您是否检查过轻击是否发生在轻击之前?或者,您可以使用 FreeDrag 或使用 TouchPanel.GetState 并执行您自己的自定义逻辑。 msdn.microsoft.com/en-us/library/…

标签: c# windows-phone-7 xna monogame


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多