ACTION_MOVEイベントはリソース効率を良くする為に、毎回コールバックされる訳ではなく
ある一定の間隔でコールバックされます。
このため、コールバック間で発生した全イベントは
getHistoricalX(int, int)、getHistoricalY(int, int)
を通して取得する事ができます。
これを利用すれば、スムーズな座標を取得できると思います。
http://developer.android.com/reference/android/view/MotionEvent.html
2011年8月4日15:18 ジャック <y.e...@maplesystems.co.jp>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>
--
Stoic Corp.
CEO Yoshiyuki Kanno
web: http://www.stoic.co.jp/
mailto:yoshiyu...@stoic.co.jp
ちょっと話がずれちゃうかもしれませんが、SurfaceViewは使われていますか?
アイコンが移動する画面描画で処理が遅れたりしてるかもしれません。
あと、setOnTouchListenerでリスナーを登録するのではなくて、onTouchEventをoverrideしたほうが精度が高かったような。
うろ覚えですいません。
2011/8/5 ジャック <y.e...@maplesystems.co.jp>:
--
/**
* @name : しかじろう【渡辺 慎二郎】
* @twitter : http://twitter.com/shikajiro
* @mail : shik...@gmail.com
* @profile http://www.google.com/profiles/shikajiro
*/
半年前の僕は、動かしたい対象の座標とeventの座標を比較して、一致したものを動かしてました。
これはちょっと泥臭いやり方ですね。
未経験ですが、ViewにもonTouchEventがあるので、
ViewをextendしたHogeViewを作って、onTouchEventをoverrideしたらできるかもしれません。
2011/8/5 ジャック <y.e...@maplesystems.co.jp>:
> 返信ありがとうございます。
> ジャックです。
>
> SurfaceViewは使っていません。
> ゲーム等の処理ほどではないし。。。
> といった理由なので使ってみようかなと思います。
>
> また、onTouchEventをoverrideしたほうが精度が高かったような。
> これズバリなんです。
>
> 精度が全然違いました。
> ただメソッドの引数がeventのみだったので
> 画面全体のタッチイベントを取得してしまい、
> 動かしたいアイコンのみのタッチイベントには
> どうすればいいのかが分からず、各オブジェクトに対して
> リスナーを貼っています。
>
> 画面全体に反応せず各オブジェクト毎に
> onTouchEventを振り分けることは可能でしょうか。
>
> タッチ一つとっても
> 挙動の振り分けがなかなか難しいですね。
> 楽しいんですが^^
>> * @mail : shikaj...@gmail.com
>> * @profilehttp://www.google.com/profiles/shikajiro
>> */
ソフトレットの山崎と申します。
>取れてくる値は滑らかになるのですが、
>取れるタイミングが指で触っているタイミングとずれてしまい
>値も比較的大きく飛んだ値になりました。
System.out.println() は結構処理コスト(時間)を占有すると思いますので
連続でタッチイベントが来ると、その分printして、その後来るイベントは
間引かれると思います。
なので・・・ある程度値が取れる確認ができたら、System.out.println() は
コメントアウトした方がイベントがガンガン来てくれて、結果的に滑らかに
なると思います。
※的違いの内容でしたらすみません。
以上。
2011年8月5日13:11 ジャック <y.e...@maplesystems.co.jp>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>
>
>
--
------------------------------------------------
株式会社 SofToLet (http://www.softolet.com/)
[住所] 大阪市中央区平野町1-5-9 井上ビル2F
[TEL/FAX] 06-6222-3218
[携帯] 090-7878-1480
山崎誠 (mailto:m_yam...@softolet.com)
------------------------------------------------