Android游戏开发之onTouchEvent

         今天在做一个游戏时,用到了触摸屏操作。具体操作是这样的:在屏幕上有五个菜单,当我用鼠标触摸屏幕,然后向右滑动是,当前选择菜单会向右移动!然而在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值