我特别困境的部分原因是我希望能够获得拖动手势的初始位置。根据该拖动手势的初始位置,应用程序将1)平移视图或2)显示菜单,但不能同时执行这些手势(这是斗争的一部分)。
例如,如果用户从屏幕的最左侧开始拖动并向内拖动,则会弹出一个菜单而不是视图平移。
我还希望能够执行双击手势而不会激活轻击手势,如果可能的话。我尝试过使用布尔标志 - 例如,
// ...
if (gesture.GestureType == GestureType.DoubleTap)
{
isDoubleTap == true;
}
// ...
public static Vector2 Tap
{
get
{
if (!isDoubleTap)
return gesture.Position;
// ...
但这不起作用。
我尝试过使用TouchCollection - 如果有人希望我能够尽我所能详细说明我的问题,但是现在我会说我尝试过的东西没有用。完全有可能我可能只是因为我是一个新手来处理触摸输入。
我已经在这方面工作了几天,尽可能多地搜索,我发现的任何东西都没有解决我的问题 - 如果我碰巧错过了什么,我道歉。
感谢您的时间!
答案 0 :(得分:0)
关于拖拽的起始位置:
有一个拖动结束的手势,所以如果你收到一个拖动,它是自上一次拖动结束后的第一个,那就是初始位置。
关于点击/双击:
MonoGame与XNA的工作方式与documented here相同:
用户快速连续两次点击屏幕。这个 总是先点击手势。
这听起来像输入绑定设计问题而非技术问题imo。还要考虑一下你可以移动到什么地方而不是仅仅使用手势。