ここから本文です

アンドロイドプログラミング マルチタッチの連打について

lib********さん

2012/8/2412:19:41

アンドロイドプログラミング マルチタッチの連打について

アンドロイドプログラミングで連打試した方いますか?
アンドロイドにてリズムゲーム作ってるんですが連打を全然まったくうまく反応してくれません
2本の指で交互に素早聞く叩いて連打しようとするとほとんどが(半数近く)が無反応になります
1本指だとまぁ叩いた数だけ反応します

タッチダウンにて叩いたと判断しています

指は2本でA・Bとすると
デバックを繰り返した結果、考えた原因は
【素早く叩いたことによりA指がB指位置まで移動したと判断されている(OSで)】
ぐらいしか原因がありません、実際タッチパネルってこんなもんですか?
(指の間隔はおもいっきり話しています)

そういえば、アンドロイドの太鼓の達人(自分はIS05なのでプレイできる)
と自分のアプリでは症状が全く同じで、
アンドロイドの太鼓の達人も同じように2本指で交互に連打しようとすると
反応がかなりかなりかなり悪くなり、プレイできたものではありません

アンドロイドの太鼓の達人はテストが公開されてから
1・2年(忘れた)経過しているのに全く製品がリリースされませんし発展もありません
なので、太鼓の達人の開発者もこの問題があるため、アンドロイド版の太鼓の達人だけ開発がストップしているのではとも思いました

自分と同じくこの問題にぶち当たった人はいますか?

補足でも
DSはシングルタッチですよね?
現在開発しているものはマルチタッチで指4・5本は確認しています

閲覧数:
1,131
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

kee********さん

2012/8/2912:45:22

Androidのマルチタップを実装したことありますが、ドキュメントに書かれていることを実装してもうまくできなかったです。
具体的には
event.getAction() == MotionEvent.ACTION_POINTER_DOWN
event.getAction() == MotionEvent.ACTION_POINTER_UP
この二つでマルチタップを実装するのは無理でした。
(マルチタップは特定の条件の動作でのみ取得できる)

ではマルチタップを実装するにはどうしたらいいかと言うと
if (event.getAction() == MotionEvent.ACTION_DOWN) {
for(int i = 0;i < event.getPointerCount();i++){
}
}
タップしている指の数を取得して、for文でつくるやり方です。
(ちなみにevent.getX(1), event.getY(1)のようにポインタの数を指定するとAndroid4.0系以降ではエラーが出て落ちますので注意)
一度、コードを確認してみてください。

質問した人からのコメント

2012/8/31 07:23:53

感謝 参考にします
やっぱタッチはiOSのほうが素晴らしいですね

ベストアンサー以外の回答

1〜1件/1件中

アバター

ID非公開さん

2012/8/2419:36:11

たぶん今のタッチパネルはそんなもんだと思います。
DSとかは二箇所同時だとその真ん中が反応します。
DSの太鼓はスライドで2連打できるっぽいのでマシですが。(ダブルとかもできる)

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる