没有合适的资源?快使用搜索试试~ 我知道了~
首页Android游戏开发之旅.doc
Android游戏开发之旅.doc
4星 · 超过85%的资源 需积分: 3 48 下载量 86 浏览量
更新于2023-03-03
评论 1
收藏 182KB DOC 举报
Android游戏开发之旅 今天Android123开始新的Android游戏开发之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形View(高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGL ES(Java层)和NDK的OpenGL和J2ME游戏移植到Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在Android OpenGL如何使用MD2文件,个部分讲述下Android游戏开发的过程最终实现一个比较完整的游戏引擎。相信大家都清楚Android Market下载量比较好的都是游戏,未来手机网游的发展相信Android使用的Java在这方面有比iPhone有更低的入门门槛
资源详情
资源评论
资源推荐
1.Android 游戏开发之旅一 长按 Button 原理
今天 开始新的 游戏开发之旅系列,主要从控制方法按键、轨迹球、
触屏、重力感应、摄像头、话筒气流、光线亮度、图形 高效绘图技术如双缓冲、
音效游戏音乐以及最后的 层和 的 和 游戏移植到
方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在
如何使用 文件,个部分讲述下 游戏开发的过程最终实现一个比较完整的游
戏引擎。相信大家都清楚 下载量比较好的都是游戏,未来手机网游的发
展相信 使用的 在这方面有比 ! 有更低的入门门槛。
对于很多游戏使用屏幕控制一般需要考虑长按事件,比如在动作类的游戏中需要长按发
射武器,结合 "# 模型,我们实现一个带图片的 "# 的长按,为了更清
晰的显示原理, 开发网这里使用 $%&"# 作为基类
#'())(**+&$%&"#,*$%&"#-
(&%.%/00记录长按开始
%+1#/00重复次数计数
+*%*/
(&%$(2344/00.% 触发间隔,即每 453 秒算一次按下
#'()+&$%&"#1,),-
!*),6#((/
7
#'()+&$%&"#1,),6'#*-
!*),6*65+55%&"#8(/
7
#'() +&$%&"#1, ),6 '# *6
98(-
*#),6*698(/
*:)#*'(#/00允许获得焦点
*&1()'(#/00启用长按事件
7
#'()*+*+*(6(&(-00实现重复按
下事件 (*
%*2(/
%$(2(/
7
;
#'()'(9%&1()-
%.%28*%1()5(*+(%/
%+1#24/
*%+/
##/
7
;
#'()'(.#)!-
9 5&)2251.$<= - 00 本 方 法 原 理 同
8= 的一样,这里处理屏幕事件,下面的 8= 处理 手机上的物理按
键事件
%1((')*%+/
9%.%>24-
+#/
%.%24/
7
7
#*#5.#)!/
7
00处理导航键事件的中键或轨迹球按下事件
;
#'()'(88168-
*)!81-
)*85?1< <1.+@
)*85?1<.+@
*#58816/
##/
7
#*#58816/
7
00当按键弹起通知长按结束
;
#'()'(8=8168-
*)!81-
)*85?1< <1.+@
)*85?1<.+@
%1((')*%+/00取消重复 (* 捕获
9%.%>24-
+#/00如果长按事件累计时间不为 4 则说明长按了
%.%24/00重置长按计时器
7
7
#*#58=816/
7
+#'(%+2+#'(-00在线程中判断重复
#'()#-
+9(*/
9* **-
*(8!*6%$(/00计算长按后延迟下一次累加
7
7
7/
+'((*-
(&28*%1()5(*+(%/
9%*>2#((-
%*5+!*6 A %.%6 (* B A @
%+1#CC/
7
7
下 面 是 重 复 "# * 接 口 的 定 义 , 调 用 时 在 "# 中 先 使 用
*+*方法实现 +* 接口
#'()9)+*-
+6()#/00参数一为用户传
入的 "# 对象,参数二为延迟的毫秒数,第三位重复次数回调。
7
7
本类大家可以直接在自己的 中 %(%* 实现 +* 接口即可。如
果有问题可以来函到 ;D5)%,明天我们将讲到有关 处理的问题。
2.Android 游戏开发之旅二 View 和 SurfaceView
在 游戏当中充当主要的除了控制类外就是显示类,在 中我们用 *(8
和 1* 来实现这些,而 &( 中涉及到显示的为 类, 游戏
开发中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下 55
和 55#9)。#9) 是从 基类中派生出来的显示类,直
接子类有 #9) 和 ,可以看出 和视频播放以及 1% 摄像头
一般均使用 #9),到底有哪些优势呢B#9) 可以控制表面的格式,比
如大小,显示在屏幕中的位置,最关键是的提供了 #9)E( 类,使用 &E(
方法获取,相关的有 1*()1*
1* ()1*+) 8 、
%1((')#9)E(51((') )((') 、
#()1* *1* )* 控 制 图 形 以 及 绘 制 , 而 在
#9)E(51((')接口回调中可以通过下面三个抽象类可以自己定义具体的实现,
比如第一个更改格式和显示画面。
'*)*#9)1!	)E(!(69%6!6
!&!
'*)*#9)1#9)E(!(
'*)*#9)*8#9)E(!(
对于 #9) 相关的, 底层还提供了 = 加速功能,所以一般实时性很强的应
用中主要使用 #9) 而不是直接从 构建,同时 未来后面说到
的 中的 #9) 也是从该类实现。
3.Android 游戏开发之旅三 View 类详解
在 游 戏 开 发 之 旅 二 中 我 们 讲 到 了 和 #9) 的 区 别 , 今 天
从 类开始着重的介绍 图形显示基类的相关方法和注意点。
自定义 的常用方法@
:*!$F当 中所有的子控件均被映射成 ,%( 后触发
*#6确定所有子元素的大小
8#'(6666当 分配所有的子元素的大小和位置时触发
G1!&666当 的大小发生变化时触发
1* 渲染内容的细节
868有按键按下后触发
8=68有按键按下后弹起时触发
.)'((轨迹球事件
.#)!触屏事件
:)#*1!&'(66+)当 获取或失去焦点时触发
H:)#*1!&'(当窗口包含的 获取或失去焦点时触发
)!.H当 被附着到一个窗口时触发
)!:%H当 离开附着的窗口时触发, 提示该方法
和 )!.H是相反的。
H*'(81!&当窗口中包含的可见的 发生变化时触发
以上是 实现的一些基本接口的回调方法,一般我们需要处理画布的显示时,重写
1*用的的是最多的:
;
)1*)*-
00这里我们直接使用 )* 对象处理当前的画布,比如说使用 来选择要填充的
颜色
") /
")*1(&+*#)*5&1(+5)(5,,,/00从 +* 中
找到名为 ,,, 的 )( 颜色定义
)*5+)4646&H!6&E&!6")&#/00设置当前
画布的背景颜色为 ")&# 中定义的颜色,以 464 作为为起点,以当前画布的
宽度和高度为重点即整块画布来填充。
剩余63页未读,继续阅读
[LO]
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2