-【优秀文档资料】Android游戏开发之旅(打印版)

-【优秀文档资料】Android游戏开发之旅(打印版)

ID:45750117

大小:76.59 KB

页数:72页

时间:2019-11-17

-【优秀文档资料】Android游戏开发之旅(打印版)_第1页
-【优秀文档资料】Android游戏开发之旅(打印版)_第2页
-【优秀文档资料】Android游戏开发之旅(打印版)_第3页
-【优秀文档资料】Android游戏开发之旅(打印版)_第4页
-【优秀文档资料】Android游戏开发之旅(打印版)_第5页
资源描述:

《-【优秀文档资料】Android游戏开发之旅(打印版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、l.Android游戏开发之旅一长按Button原理今天Android123开始新的Android游戏开发之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形View(高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGLES(Java层)和NDK的OpenGL和J2ME游戏移植Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在AndroidOpenGL如何使用MD2文件”个部分讲述下Android游戏开发的过程最终实现f比较完整的游戏引擎。相信大家都清楚AndroidM

2、arket下载量比较好的都是游戏,未来手机网游的发展相信Android使用的Java在这方面有比iPhone有更低的入门门槛。对于很多游戏使用屏幕控制一般需要考虑长按事件,比如在动作类的游戏中需要长按发射武器,结合AndroidButton模型,我们实现一个带图片的Button的长按,为了更清晰的显示原理,Android开发网这里使用ImageButton作为基类publicclassRepeatinglmageButtonextendsImageButton{privatelongmStartTime;〃记录长按开始privatei

3、ntmRepeatCount;//重复次数计数privateRepeatListenermListener;privatelongmlnterval=500;//Timer触发间隔,即每0.5秒算一次按下publicRepeatinglmageButton(Contextcontext){this(context,null);}publicRepeatinglmageButton(Contextcontext,AttributeSetattrs){this(context5attrs,android.R.attr.imageButto

4、nStyle);publicRepeatinglmageButton(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);setFocusable(true);〃允许获得焦点setLongClickable(true);〃启用长按事件publicvoidsetRepeatListener(RepeatListenerI,longinterval){〃实现重复按下事件listenermListener=I;mInterval=interv

5、al;}@OverridepublicbooleanperformLongClick(){mStartTime=SystemClock.elapsedRealtime();mRepeatCount=0;post(mRepeater);returntrue;}@OverridepublicbooleanonTouchEvent(MotionEventevent){if(event.getAction()==MotionEvent.ACTION_UP){//本方法原理同onKeyUp的样,这里处理屏幕事件,下面的onKeyUp处理Andr

6、oid手机上的物理按键事件removeCallbacks(mRepeater);if(mStartTime!=0){doRepeat(true);mStartTime=0;}}returnsuper.onTouchEvent(event);}〃处理导航键事件的中键或轨迹球按下事件@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){switch(keyCode){caseKeyEvent.KEYCODE_DPAD_CENTER:caseKeyEvent.KEYCODE_EN

7、TER:super.onKeyDown(keyCode,event);returntrue;}returnsuper.onKeyDown(keyCode,event);}〃当按键弹起通知长按结束@OverridepublicbooleanonKeyllp(intkeyCode,KeyEventevent){switch(keyCode){caseKeyEvent.KEYCODE_DPAD_CENTER:caseKeyEvent.KEYCODE_ENTER:removeCallbacks(mRepeater);徳消重复listener捕

8、获if(mStartTime!=0){doRepeat(true);〃如果长按事件累计时间不为0则说明长按了mStartTime=0;〃重置长按计时器}}returnsuper.onKeyUp(keyCode,event

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。