MonoGame - 使用特定手势用于不同目的

本文关键字:用于 MonoGame | 更新日期: 2023-09-27 18:30:46

我的特殊困境的一部分是我希望能够获得拖动手势的初始位置。根据该拖动手势的初始位置,应用程序将 1) 平移视图或 2) 显示菜单,但不会同时执行这些手势(这是斗争的一部分所在)。

例如,如果用户从屏幕的最左侧启动拖动并向内拖动,则会弹出一个菜单而不是视图平移。

如果可能的话,我还希望能够在不激活点击手势的情况下执行双击手势。我尝试使用布尔标志 - 例如,

// ...
if (gesture.GestureType == GestureType.DoubleTap)
{
    isDoubleTap == true;
}
// ...
public static Vector2 Tap
{
    get
    {
        if (!isDoubleTap)
            return gesture.Position;
        // ...

但这行不通。

我尝试过使用TouchCollection - 如果有人希望我详细说明我的问题,我可以,但现在我会说我尝试的没有奏效。我完全有可能只是搞砸了,因为我在使用触摸输入时是一个新手。

我已经为此工作了几天,并进行了尽可能多的搜索,但我发现的任何东西都没有缓解我的问题 - 如果我碰巧错过了什么,我道歉。

谢谢你的时间!

MonoGame - 使用特定手势用于不同目的

关于拖动的起始位置:

有一个拖拽结束的手势,所以如果你收到一个拖拽,这是自上次拖拽结束以来的第一个,那就是初始位置。

关于点击/双击:

MonoGame的工作方式与XNA相同,如下所述:

用户快速连续点击屏幕两次。这 始终以点击手势开头。

这听起来更像是一个输入绑定设计问题,而不是一个技术问题。还要考虑你可以移动到什么,而不是在新闻发布或发布时发生,而不仅仅是使用手势。