首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Monogame/XNA中有可能获得“上下文”手势吗?

在Monogame/XNA中有可能获得“上下文”手势吗?
EN

Stack Overflow用户
提问于 2014-12-06 18:34:06
回答 1查看 334关注 0票数 17

我正在开发一个使用Monogame的多点触控应用程序,多个用户可以在一个更大的多点触摸屏上同时操作不同的文档/图像/视频,我想知道是否有可能让手势“上下文感知”,即两个手指在墙的一边夹住一个文档不应该影响到有人在墙的另一边平移。

Monogame的工作方式是,所有输入点都被转换为手势,可以使用以下命令读取:

代码语言:javascript
复制
if (TouchPanel.IsGestureAvailable)
{
     var gesture = TouchPanel.ReadGesture();
     // do stuff
}

有没有一种方法可以将手势限制在屏幕上的某个点,或者我需要自己实现?例如,通过查看源代码,似乎所有工作都是由TouchPanelState类完成的,但不幸的是,它的构造函数是internal

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-10 10:35:16

该功能没有内置到MonoGame中,因为它不是原始XNA的一部分。从本质上说,你想要一个以上的“逻辑”TouchPanel由它的窗口的子矩形定义。然而,TouchPanel是静态的,因此在默认的XNA中整个游戏只有一个。

好消息是MonoGame有自己的手势识别功能。因此,代码已经存在,您只需对MonoGame进行一些更改。

例如。

-Make TouchPanel一个非静态类,可以分配给一个给定的subrect。

所有TouchPanel方法的-Add非静态版本。

-The静态方法重定向到TouchPanel的单例/实例,保留旧的API。

...now你可以选择分配更多的TouchPanel而不是整个屏幕。

注意:这对你没有帮助,但MonoGame确实允许你有多个操作系统窗口(在windows上只有afaik),在这种情况下,静态TouchPanel是第一个窗口,并且有一个单独的API用于访问任何其他窗口的触摸输入/手势。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27330709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档