2012-04-03 13 views
2

iOS MonoTouchアプリケーションで複数のタッチイベントを追跡する必要があります。私は、TouchesBegan、TouchesCancelled、TouchesMovedおよびTouchesEndedメソッドをオーバーライドしました。iOS MonoTouchのマルチタッチ

私が今理解しなければならないのは、それぞれのオーバーライド中にタッチを繰り返して(複数の場合があります)、それらをマッチングさせる方法です。私はタッチが始まるときを知り、そのタッチイベントに対して何かをしたい。ユーザーは指を下に置くことがあります。その時、その指が止まっていれば何かをするためのタイマーを開始します。

その間にユーザーが別の指を置くと、最初のものとは異なるタイマーを開始したいと思うでしょう。

私はタイマーなどを保存する方法を見つけ出すことができると確信しています。どのようにNSSetに含まれるタッチイベントを各オーバーライドで繰り返し処理するか、オーバーライド間でそれらを一意に識別する方法を理解できません。

私は、NSSetのTouchesBeganタッチがNSSetsのTouchesMoved、TouchesCancelled、またはTouchesEndedタッチと一致すると仮定しています。

本当ですか?もしそうなら、私はどのようにしてそれぞれを取得し、それらを一意に識別して一致させるのですか?ここで

答えて

4

TouchesBeganなどのMonoGameの使用の良い例です。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

+0

素晴らしいです。それはタッチです.Arrayとtouch.Handle.ToInt32は、私が探していたキーです。 – user856232

+0

私のために働かない、TouchesMovedで、私はtouch.Countを取得し、それは常に私がより多くの指を置くとき1.です。 – Peyman

+1

あなたが偉大なプログラマーを望むなら、あなたが使用する必要がある力。 – jonathanpeppers

関連する問題