![第14章--Android游戏制作_第1页](http://file4.renrendoc.com/view/5236bd02cb54482f6b235075325316f8/5236bd02cb54482f6b235075325316f81.gif)
![第14章--Android游戏制作_第2页](http://file4.renrendoc.com/view/5236bd02cb54482f6b235075325316f8/5236bd02cb54482f6b235075325316f82.gif)
![第14章--Android游戏制作_第3页](http://file4.renrendoc.com/view/5236bd02cb54482f6b235075325316f8/5236bd02cb54482f6b235075325316f83.gif)
![第14章--Android游戏制作_第4页](http://file4.renrendoc.com/view/5236bd02cb54482f6b235075325316f8/5236bd02cb54482f6b235075325316f84.gif)
![第14章--Android游戏制作_第5页](http://file4.renrendoc.com/view/5236bd02cb54482f6b235075325316f8/5236bd02cb54482f6b235075325316f85.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android基础与应用开发教程大连理工大学出版社Android游戏制作第14章14.1 Android游戏的基础技术 Android绘图操作可通过扩展View类实现,具体绘制过程在。nDraw ()方法中实现。下面通过一个绘图例子来具体地说明简单图形绘制的机制,步骤如下:(1)创建一个工程MyView:(2)修改res/layout/activity_main. xml的代码:(3)在模拟器中运行项目,结果如图14-1所示:14.1.1 Android的简单图形绘制14.1 Android游戏的基础技术(1)创建一个工程MyBitmap(2)修改/res/layout/activity_ma
2、in. xml代码如下:14.1.2 Android的贴图技术14.1 Android游戏的基础技术(3)在模拟器中运行项目,结果如图14-2所示:14.1.2 Android的贴图技术14.2 贪吃蛇游戏的解析使用Eclipse菜单的【File】| 【 New】 | 【 Project 】,单击项目“Android”,选择“Android Sample Project,单击【Next】按钮,勾选所用SDK版本,单击【 Next】按钮,选择“Snake创建贪吃蛇游戏应用工程,如图14-3所示。14.2.1 在Eclipse中导入游戏14.2 贪吃蛇游戏的解析贪吃蛇是一个休闲的单机小游戏,玩法简
3、单、耗时少、游戏的界面简洁、逻辑实现也不很复杂,适合Android初学者作为游戏人门的练习学习。14.2.2 游戏界面布局这个游戏玩法是,玩家用上下左右四个方向键操控一条贪吃蛇,让它不停地在屏幕上游走,不断吞吃各方向上出现的苹果,蛇的长度也会随之增加,速度随之加快。一旦蛇头碰到屏幕四周或自己的身子,它就立即毙命,游戏即告结束并计算分数。图14-5是贪吃蛇游戏的运行和结束界面。14.2 贪吃蛇游戏的解析Snake工程把主界面剖成UI和游戏逻辑两层,最基础的UI部分用基类TileView来表示,TileView的子类SnakeView继承了基类的UI,并添加了游戏控制逻辑,从而实现了两者的分离,这
4、对于游戏的修改和扩展非常便利。TileView是一个方块(格)图形,显示它的基类是视图(View)。视图类是java. fang. Object直接扩展,是各种控件比如TextView, EditView的基类。TileView的UI部分把整个屏幕看做一个二维数组,每个元素可以视为一个方块(格),每个方块(格)在游戏过程中可处于不同状态,比如空闲、墙、苹果、贪食蛇(蛇身或蛇头)。游戏的操作过程,其实就是不断修改各方格的状态,然后再让整个View去重绘制自身。当然,同时还需要加人一些判定游戏当前状态(失败或成功)的机制。14.2.3 游戏界面实现部分14.2 贪吃蛇游戏的解析(1)初始化映射图坐
5、标(2)加载不同类型的图画来绘制墙、蛇和苹果。(3)调用为映射图数组的赋值方法(4)初始化边界墙和苹果。计算出边界,对map进行赋值。(5)绘制墙(边界)传给TitleView类的onDraw)方法。(6)产生随机苹果,需要进行冲突检查(7)蛇吃了苹果,长度增加且速度变快(8)蛇碰到了墙和自身,游戏结束(9)状态模式和方向(10)按键处理(11)游戏数据的保存机制14.2.4 游戏逻辑部分14.2 贪吃蛇游戏的解析任何游戏都需要引擎来推动。最简单的游戏引擎是一个线程中的While循环,它用来检测用户操作,对用户操作作出反应,更新游戏界面,直到用户退出游戏。在Android的游戏中,需要按照指定
6、周期来调用函数或计算表达式。完成这种功能的办法有两种:一个是在线程中调用的Handler类,另一个是使用Timer类。在Snake中采用了前者。14.2.5 游戏引擎14.2 贪吃蛇游戏的解析Android SDK Sample中的Snake工程不能让玩家在虚拟设备上用鼠标单击游戏画面进行控制,只能单击按键来玩游戏;在手机上若不能使用触摸屏就十分不便,为此我们增加触摸控制功能。实现鼠标单击和触摸屏功能并不复杂,只需要在TileView. Java文件中加人屏幕宽度和高度信息的声明,同时在onSizeChanged( )方法中获取屏幕宽度和高度值即可。在SnakeView. java中,重载视图
7、中响应触摸事件的方法onTouchEvent(),就可以实现鼠标单击和触摸屏功能。14.2.6 增加游戏的触摸控制14.2 贪吃蛇游戏的解析最后,让我们给比较单调的游戏添加一个金蛇狂舞的背景音乐,让游戏玩得更轻松一些。为此,首先在res目录下新建一个raw文件夹,把goldensnake, mp3文件放人其中。其次,再添加一个Music类的内容。14.2.7 增加游戏的背景音乐14.3 本章小结通过贪吃蛇的例子可以了解Android图形绘制、贴图方法和游戏开发的基本逻辑和设计流程。此外还将游戏加以扩充,增加了触摸屏功能和背景音乐效果,使其更具实用性。选择贪吃蛇为例作为切人点,有如下几个原因:(1)贪吃蛇是手机上的一个有趣
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025农副产品购销结合合同样本
- 2025一般附义务的赠与合同范本
- 2025地质初步勘察工程合同
- e签宝借款合同范例
- 化肥装卸工合同范例
- 农村包工建房施工合同范例
- 借款抵押厂房合同范本
- 修路增加补充合同范例
- 公司集资合同范例
- 供货分包合同范例
- 最经典净水厂施工组织设计
- VDA6.3过程审核报告
- 《心脏血管的解剖》课件
- 2024-2030年中国并购基金行业发展前景预测及投资策略研究报告
- 河道清淤安全培训课件
- 2024年湖南商务职业技术学院单招职业适应性测试题库带答案
- 骨科手术中常被忽略的操作课件
- 《湖南师范大学》课件
- 2024年全国各地中考试题分类汇编:作文题目
- 2024年高压电工操作证考试复习题库及答案(共三套)
- 《糖拌西红柿 》 教案()
评论
0/150
提交评论