`
v5qqbrowser
  • 浏览: 356159 次
文章分类
社区版块
存档分类
最新评论

Android游戏开发系列教程第三讲(事件处理)

 
阅读更多
总的可分为6大事件:
1.监听器事件
view是android用户界面的基类
view中包含了以下几个内部接口,它们分别是:
onClickListener----监听屏幕点击事件
onCreateContextMenuListener----监听上下文菜单创建事件
onFocusChangeListener----监听焦点切换事件
onKeyListener----监听按键事件
onLongClickListener----监听焦点切换事件
onTouchListener----监听屏幕触摸事件
2.按键事件
最常用的两个方法就是onKeyDown和onKeyUp
前者是按键被按下时候触发的,如果一直按
住,就会触发很多次,后者是按键松开时候
触发的.
触发的事件是KeyEvent事件:
常用按键键值:
常用数字按键:KEYCODE_0到KEYCODE_9
常用字母按键:KEYCODE_A到KEYCODE_Z
常用方向按键:KEYCODE_DPAD_CENTER|KEYCODE_DPAD_DOWN|
KEYCODE_DPAD_LEFT|KEYCODE_DPAD_RIGHT|KEYCODE_DPAD_UP
菜单按键:KEYCODE_MENU
音量按键:KEYCODE_VOLUME_DOWN|KEYCODE_VOLUME_UP
返回按键:KEYCODE_BACK
注意:全触摸屏在输入法的模式下按下数字和字母键不会触发这个事件
,只有按下回退等一些操作性质的按钮才仅仅会触发onKeyUp,onKeyDown
不会被触发,正常的key比如菜单键,音量等,才能正常演示按下和松开事件
3.触摸屏事件
触摸屏事件触发的事件是onTouchEvent(MotionEvent event)
触摸屏有按下和松开的事件,所以会执行两次onTouchEvent方法
4.轨迹球事件
轨迹球事件触发的事件是onTrackballEvent(MotionEvent event)
在模拟器中按下F6,模拟器上方出现滚动的小球,鼠标的移动就是
轨迹球的移动事件,鼠标左键按下就是轨迹球的按下事件
注意:很多android手机中不支持轨迹球
5.手势事件
支持一些触摸屏的手势:左划|下划|上划|右划
实现OnGestureListener接口,并实现其方法:
onDown(MotionEvent e)//触摸屏按下事件
onFling()//划过事件
onLongPress(MotionEvent e)//长按事件处理
onScroll()//另外一种划过的处理方式
Gesture的各个方法触发解释:
最基本的在View里面 onTouchEvent,它主要实现的功能是Flip,主要原理就是按下的时候记录坐标(用到MotionEvent.ACTION_DOWN),然后滑动(MotionEvent.ACTION_MOVE),然后在抬起(MotionEvent.ACTION_UP),在抬起的时候在记录坐标,把按下的坐标和抬起的坐标做比较,这样就能判断出是左还是右了,然后作出相应的处理。一般情况下,我们执行程序操作时就在ACTION_UP时进行。
最基本的就是onTouchEvent,同时Android平台还给我们提供了更多彩的操作方式,我们需要android.view.GestureDetector
android.view.GestureDetector.SimpleOnGestureListener 这两个类
新建一个类继承SimpleOnGestureListener,HahaGestureDetectorListener
可以实现以下event事件。
boolean onDoubleTap(MotionEvent e)
解释:双击的第二下Touch down时触发
boolean onDoubleTapEvent(MotionEvent e)
解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。
boolean onDown(MotionEvent e)
解释:Touch down时触发
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
解释:Touch了滑动一点距离后,up时触发。
void onLongPress(MotionEvent e)
解释:Touch了不移动一直Touch down时触发
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
解释:Touch了滑动时触发。
void onShowPress(MotionEvent e)
解释:Touch了还没有滑动时触发
(与onDown,onLongPress比较
onDown只要Touch down一定立刻触发。
而Touchdown后过一会没有滑动先触发onShowPress再是onLongPress。
所以Touchdown后一直不滑动,onDown->onShowPress->onLongPress这个顺序触发。
boolean onSingleTapConfirmed(MotionEvent e)
boolean onSingleTapUp(MotionEvent e)
解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。
点击一下非常快的(不滑动)Touchup:
onDown->onSingleTapUp->onSingleTapConfirmed
点击一下稍微慢点的(不滑动)Touchup:
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

6.Widget及其专属监听器

代码下载:http://download.csdn.net/detail/qq1059458376/4670408


分享到:
评论

相关推荐

    Android游戏开发系列教程第三讲(事件处理)源码

    Android游戏开发系列教程第三讲(事件处理)源码学习

    Android 3D 游戏开发教程.doc

    Android 3D 游戏开发教程 这几篇Android 3D游戏开发的文章原文出自一位德国人Martin 在droidnova.com写的文章,有lixinso翻译为中文。 第一部分首先介绍OpenGL相关的术语,并引导你开始3D开发的第一步。 这个关于3D...

    3G手机Android应用开发系列视频教程

    教程名称:3G手机Android应用开发系列视频教程课程目录:【】3G手机Android应用开发第七天课程4.编码实现软件界面【】3G手机Android应用开发第二天课程1.单元测试与输出日志信息【】3G手机Android应用开发第二天课程...

    Android开发教程与视频教程类专题资料免费下载整理合集

    《善知堂Android就业班系列培训视频教程(基于android4.03)》更新到第3季【1.4GB】 http://www.wendangxiazai.com/jiaocheng/shipin/31370.html 《老罗Android开发视频教程》【2.3 GB】 ://...

    Android客户端上开发人人客户端系列教程

    人人网目前针对不同领域的开发者,提供了相应的教程和文档,目前主要分为“站内应用开发”、“第三方网站接入”、“移动客户端接入”和“桌面客户端接入”四大模块。下面的所有东西,都是关于基于Android的移动...

    新版Android开发教程.rar

    � 由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于 Android 是一款完全 开 源的移动计算平台,相信第三方应用会很快的丰富起来。 � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的...

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    很好的电子书教程! 什么是 Android? Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android ...

    Android基础教程

     《Android基础教程(第3版·修订版)》是一部关于Android开发的基础教程,采用Pragmatic系列图书一贯由浅入深、循序渐进的方式讲解了Android程序设计的核心概念和技术。书中不仅结合数独游戏开发案例形象生动地...

    史上最详细的Android Studio系列教程pdf

    史上最详细的Android Studio系列教程合集,带书签 一--下载和安装 二--基本设置与运行 三--快捷键 四--Gradle基础 五--Gradle命令详解与导入第三方包

    Android学习系列教程实例.pdf

    第 3 章 第三章 ................... 40 3.1. 缓冲界面 ......................................... 40 3.1.1. Demo1 .................................... 40 3.1.2. Demo2 .................................... ...

    安卓开发实战微课第91-02罐:Android开发环境搭建_职场大菠菜出品

    2016年3月艾瑞咨询显示,Android4.4版本占比38%,雄踞第一! 为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要...

    安卓开发实战微课第91-03罐:第一个Android应用程序_职场大菠菜出品

    2016年3月艾瑞咨询显示,Android4.4版本占比38%,雄踞第一! 为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要...

    unity2d 游戏开发资源 unity2d 游戏开发资源

    15 工具栏 16 层次窗口 17 项目窗口 17 游戏场景窗口 18 游戏窗口 18 属性编辑器 18 自定义版面设置 19 2.3 Unity 项目管理介绍 20 项目(project) 20 场景(scene) 21 第3章 2D 图片对象 3.1 什么是 Sprite 对象 ...

    Android程序设计基础

    书中还结合数独游戏等实例更加形象生动地讲解了 android开发的基本流程,且每章最后都有一个 “快速阅读指南 ”,更加方便了读者的阅读。.  本书内容完整丰富,具有较强的通用性,读者都能通过本书快速学习 ...

    安卓开发实战微课第91-01罐:Android简要介绍_职场大菠菜出品

    2016年3月艾瑞咨询显示,Android4.4版本占比38%,雄踞第一! 为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要...

    android逆向资料代下

    Android游戏辅助开发特训班 游戏逆向第3期 [MP4] (13.68G) 零基础入门Android(安卓)逆向 [MP4] (6.28G) Android漏洞挖掘与利用 [MP4] 安卓逆向协议分析第一期 [MP4] (8.4G) Android逆向基础 [MP4] ...

    安卓开发实战微课第91-04罐:Android视图与容器组件_职场大菠菜出品

    2016年3月艾瑞咨询显示,Android4.4版本占比38%,雄踞第一! 为此,“职场大菠菜(微信号:zhichangdabocai)”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功...

    jumpdontdie:在我的YouTube教程中开发的Android游戏的源代码。 使用libGDX,Scene2D,Box2D制作-Android game source code

    box2d:这是我们在第3部分中所做的代码,我们在其中了解了World,Body,Fixture,Collision等。 游戏:这是我们在第4部分中所做的代码,这是我们通过组合Box2D和Scene2D开发的实际游戏。 执照 此源代码被广泛发布

    AIDE教程系列1

    本来以前做PyS60教程是没有介绍开发工具这一节的,由于AIDE专业名词很多,且无可用汉化版(其实汉化版在论坛上是有的,但汉化组们汉化的AIDE由于破坏了软件原有的签名,虽然安装之后可以打开,但写的程序无法run运行...

Global site tag (gtag.js) - Google Analytics