【发布时间】:2013-12-13 06:26:14
【问题描述】:
我遇到了一个小问题。我在 Windows 8 上运行了一个游戏,但其中有一个小错误。我们通过 FreeDrag 事件拖动玩家,但问题是当您拖动小鸟并将手指放在屏幕的另一侧并开始拖动时,您将启动另一个 FreeDrag 事件并影响小鸟的移动。
所以我的问题是我可以只处理 1 个 FreeDrag 而不是两个都处理吗?有人问了一些比较individually handle gesture's 的问题,但没有得到答案。
提前致谢。
【问题讨论】:
-
为什么要把另一根手指放在屏幕上?
-
你不会真的故意这样做,但如果你不小心用另一根手指触摸屏幕或者你自己敲击屏幕,玩家会做出意想不到的动作。该游戏是一种逃避游戏,并且通过用第二根手指触摸屏幕,您可以提升自己并获得双倍速度,从而通过正确了解和执行它来获得不公平的优势。除此之外,对于进一步开发(支持 2 名玩家)以及我们未来可能制作的任何其他游戏来说,了解这些内容也很方便:)
-
我认为你不能处理这个问题,FreeDrag 不是 XNA 中的多点触控手势,这意味着如果你用另一根手指触摸屏幕,就会开始另一个拖动手势。
-
所以我需要通过保存最后一个位置然后获取新位置并提取增量以检查它是否是正在进行的拖动然后更新我的位置(如果这甚至有效)来解决这个特别的问题?
-
这看起来很复杂。我的建议是避免使用 FreeDrag,而是使用 TouchLocation 来移动你的小鸟。