2012-04-03 4 views
2

Ich muss mehrere Berührungsereignisse in einer iOS MonoTouch-Anwendung verfolgen. Ich habe die Methoden TouchesBegan, TouchesCancelled, TouchesMoved und TouchesEnded außer Kraft gesetzt.Multitouch in MonoTouch unter iOS

Was ich jetzt herausfinden muss ist, wie man die Berührungen (es gibt mehr als eins) während jeder dieser Überschreibungen iterieren und sie zusammenbringen. Ich möchte wissen, wann eine Berührung beginnt und etwas damit gegen ein anderes Berührungsereignis tut. Der Benutzer kann einen Finger niederlegen, zu welchem ​​Zeitpunkt ich einen Timer starten werde, um etwas zu tun, wenn dieser Finger unten bleibt.

Wenn während dieser Zeit der Benutzer einen anderen Finger niederlegt, möchte ich einen Timer für den, der anders als der erste ist, starten.

Ich bin mir ziemlich sicher, dass ich einen Weg finden kann, um meine Timer und so zu speichern. Was ich nicht herausfinden kann, wie man durch die Berührungsereignisse, die der NSSet in jedem der Überschreibungen enthält, iteriert und dann wie man sie zwischen den Überschreibungen eindeutig identifiziert.

Ich gehe davon aus, dass ein TouchesBegan-Touch im NSSet mit einem TouchesMoved-, TouchesCancelled- oder TouchesEnded-Touch in den NSSets übereinstimmt, die auch diese Overrides erhalten.

Stimmt das? Wenn ja, wie komme ich an jeden einzelnen heran und identifiziere sie eindeutig, um sie aufeinander abzustimmen?

Antwort

4

Hier ist ein gutes Beispiel für die Verwendung von monogame TouchesBegan etc: https://github.com/mono/MonoGame/blob/develop/MonoGame.Framework/iOS/iOSGameView_Touch.cs

UITouch auch ein Zeitstempel-Feld hat man verwenden könnte Berührungen zu unterscheiden. Ich denke, Sie sollten sie in einem Wörterbuch speichern, um die von Ihnen erwähnte Funktionalität zu erhalten. Hier

ist die Klassenreferenz für UITouch: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITouch_Class/Reference/Reference.html

+0

ehrfürchtig. Es sind die Berührungen. Um zu array und touch.Handle.ToInt32 das sind die Schlüssel, die ich gesucht habe. – user856232

+0

funktioniert bei mir nicht, bei TouchesMoved bekomme ich Berührungen. Zähle und es ist immer 1. auch wenn ich mehr Finger lege. – Peyman

+1

Wenn große Programmierer Sie wünschen, müssen Sie die Kraft verwenden. – jonathanpeppers