Android游戏开发之onTouchEvent

来源:互联网 发布:淘宝网安卓版下载安装 编辑:程序博客网 时间:2024/05/28 20:19

         今天在做一个游戏时,用到了触摸屏操作。具体操作是这样的:在屏幕上有五个菜单,当我用鼠标触摸屏幕,然后向右滑动是,当前选择菜单会向右移动!然而在onTouchEvent的返回值中,我用了 return super.onTouchEvent(event);  丫的,我调试了半天!愣是没弄清楚错误竟然会在这里!之后在网上搜了些资料,觉得这有必要大写一笔,同时分享给大家!

           onTouchEvent API中的解释:Implement this method to handle touch screen motion events.就是用来处理屏幕触摸事件。处理方法一般有一下几种:

           1、有的博客中说,只要自己写了就返回true就行了。

           2、还有的就说,上面那种方法有点不妥,这样就是告诉系统所有的我都已经自己处理了,但是我们可能只处理了一部分,所以比较好的做法是:对于自己处理的return true;而对于自己没有处理的交给系统处理return super.onTouchEvent(event);

           3、onTouchEvent同样也是在view中定义的一个方法。处理传递到view 的手势事件。手势事件类型包ACTION_DOWN,ACTION_MOVE,ACTION_UP,ACTION_CANCEL四种事件。一旦onTouchEvent方法被调用,并返回true则这个手势事件就结束了,并不会向下传递到子控件。

          由于本人,是做游戏中的onTouchEvent,用到了手势处理!所以我的问题,自然而然的就定位在了第三种解决方案中。所以,在处理onTouchEvent事件中,我返回了true.

         至于各位遇到的是什么情况,就看情况而定了!在这里我推荐一下:如果在游戏中,涉及到手势移动操作,我建议返回true,如果是在viewGroup中只是简简单单的单击触摸,就选择第二种方案比较好!

下面给大家推荐一个ViewGroup中的onTouchEvent文章!

http://aijiawang-126-com.iteye.com/blog/648618

原创粉丝点击