我需要在 iOS MonoTouch 应用程序中跟踪多个触摸事件。我已经重写了 TouchesBegan、TouchesCancelled、TouchesMoved 和 TouchesEnded 方法。
我现在需要弄清楚的是如何在每次覆盖期间迭代触摸(将有多个)并将它们匹配。我想知道触摸何时开始,并用它与不同的触摸事件进行一些操作。用户可能会放下手指,此时我将启动计时器来执行某些操作(如果该手指保持按下状态)。
如果在此期间用户放下另一根手指,我将希望为该手指启动一个与第一个手指不同的计时器。
我很确定我能找到一种方法来存储我的计时器等。我不知道如何迭代 NSSet 在每个覆盖中包含的触摸事件,然后如何在覆盖之间唯一地标识它们。
我假设 NSSet 中的 TouchesBegan 触摸将与这些覆盖所获得的 NSSet 中的 TouchesMoved、TouchesCancelled 或 TouchesEnded 触摸相匹配。
这是真的吗?如果是这样,我如何获取每一个并唯一地标识它们以将它们匹配?
最佳答案
这里是 MonoGame 使用 TouchesBegan
等的一个很好的例子:https://github.com/mono/MonoGame/blob/develop/MonoGame.Framework/iOS/iOSGameView_Touch.cs
UITouch
还有一个时间戳字段,可用于区分触摸。我认为你应该将它们存储在字典中以获得你提到的功能。
以下是 UITouch 的类引用:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITouch_Class/Reference/Reference.html
关于ios - iOS 上 MonoTouch 中的多点触控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985472/