locked
【WP7】「画面を複数タッチをハンドルする方法」について教えてください RRS feed

  • 全般的な情報交換

  • お世話になります。佐野といいます。

    画面を複数の指でタッチするアプリを作成したのですが、
    (タッチした指をホールドしたまま、次の指でタッチを追加、そのままホールド、更に次の指でタッチを追加、そのままホールド・・・・)
    Silverlightで画像や文字などのClickやタップなどをハンドルして関数を紐付けたのですが、
    最初のタップ以外受け付けない?仕様のようで、2本目以降の指のタッチには一切反応しません。

    調べてみましたが、ジェスチャーや2本目のタッチくらいしか言及しているドキュメントやサンプルしかなく、
    仕方がないのでXNAに切り替えて、
                TouchCollection touchCollection = TouchPanel.GetState();
    を利用してみました。
    これでも、3~4本目までは認識しますがそれ以上は認識しません。
    ラーニングにあるサンプル”InputToyWP7”でも4本程度までしか認識できませんでした。

    機種依存のような気もしますが、これはこういった仕様なのでしょうか?

    また今回のアプリではホールドしている指はハンドルする必要が無いので、
    新しいタッチ(クリック)イベントだけでもハンドリングできると良いのですが、
    何か良い方法をご存じないでしょうか?
    もっと、低レベルなAPIならハンドルできるとかありますでしょうか?

    よろしくお願いします。
    2012年7月20日 6:19

すべての返信

  • 4本までしか認識しないのはおそらくハードウェア(タッチパネルのドライバ)の制限だと考えらえます。

    Silverlight から複数タッチポイントのハンドリングをするには、XNAを参照してのTouchCollection を Silverlight から使います。

    2012年8月30日 17:09
  • ご回答ありがとうございます。

    ハードウェアの制限ならコストの問題もあるでしょうけれど、ドライバーの制限だとしたら、かなり残念な仕様ですが、何れにしても仕方ありませんね。

    制作しているアプリは10点以上のマルチタッチするゲームなので厳しいですが、タッチに依存しないように仕様変更を検討してみます。

    ありがとうございました。


    2012年9月4日 6:14