没有合适的资源?快使用搜索试试~ 我知道了~
首页手机休闲游戏开发实战:《切切乐》OpenGL ES 2.0 技术详解
本资源是一份关于Android项目开发实战的教程,专注于休闲类游戏《切切乐》的编程案例解析。随着现代生活节奏加快,手机休闲游戏如《切切乐》因其易于上手、无需长时间投入、能够提供即时娱乐的特点,备受用户喜爱。本教程将引导读者深入了解在Android平台上使用OpenGL ES 2.0技术开发3D休闲游戏的过程。 首先,章节17.1介绍了游戏《切切乐》的背景和功能。作者对比了一些流行的休闲游戏,如《开心消消乐》、《五子连珠》和《别踩白块儿》,强调它们都是简单易上手的代表,旨在让读者对这类游戏有基本的认识。《切切乐》的核心玩法是快速切割木板,目标是达到特定面积,同时游戏融入了OpenGLES2.0渲染技术,提供了丰富的视觉特效和动画,提升游戏的沉浸感。 在功能方面,游戏界面包含欢迎界面、音乐和声音设置、帮助、选择系列和关卡等部分。欢迎界面设有“选项”、“开始”、“帮助”和“退出”按钮,允许玩家定制音效。通过这些操作,读者将学习到如何运用OpenGLES2.0技术来设计和实现游戏界面,以及如何管理游戏资源。 此教程不仅是技术实践,也是理论与实践相结合的学习机会。读者将有机会通过实际开发《切切乐》游戏,掌握手机游戏开发的基本技能,包括3D图形渲染、用户界面设计和音频处理等,为今后的Android游戏开发打下坚实的基础。这是一份适合想要步入Android游戏开发领域的学习者深入探索和提升技能的实用教程。
资源详情
资源推荐
第 17 章 休闲类游戏
—
《切切乐》
636
(7)自定义游戏界面内部类 GameViewTouchTask:该类为游戏界面的实现类。玩家在游戏界
面中可以通过手指滑动切割木板以完成关卡目标,并保证在切割期间不触及到四处滚动的小球。
完成关卡目标即可顺利过关。在某些游戏关卡会出现金属保护边来阻止玩家的切割,但也有可能
会切出强力切割斧头,使用该斧头可以强力切割金属保护边。玩家可以单击屏幕左下角暂停按钮
来选择其他关卡、重玩或继续。
2.计算几何物理引擎辅助工具类
(1)自定义常量类 Constant:该类封装着游戏中用到的大部分常量,其中包括各个界面按钮
的坐标、数据模拟的频率、标准屏幕的宽高度和缩放计算结果等常量,同时还包括屏幕与视口坐
标之间转化的相应方法。通过封装这些常量,可方便对其管理与维护。
(2)自定义粒子系统雪的常量类 ParticleConstant:该类封装着游戏中选关界面粒子系统下雪
特效用到的常量,包括粒子的起始颜色、终止颜色、目标混合因子、源混合因子、混合方式和单
个粒子半径等常量。
(3)记录关卡数据辅助类 MyFCData:该类负责记录每一关的关卡数据。其中包括各个关卡
胜利需要达到的目标面积、木板相应形状的各个顶点数组和球刚体的所有数据等。通过将每一关
关卡数据剥离出来可方便的对代码进行管理和维护。
(4)计算几何工具类 GeoLibUtil:该类封装了根据顶点数据创建多边形的方法、将凸多边形
和多边形数据转化成三角形数据的方法以及将 C2DPolygon 对象转换成顶点数组的方法。该类可
方便的获得绘制多边形所需的数据。
(5)物理计算工具类 GeometryConstant:该类封装了把屏幕部分切分成两部分的方法、创建
切分后的两个多边形对象的方法。同时该类还包括计算球的中心到线段的距离的方法、判断多边
形木块飞走方向和位移的方法。
(6)切分多边形工具类 isCutUtil:该类封装了判断是否划到木板所对应的多边形的方法。该
方法还用到了判断手划过的线段与图形中的线段是否相交和获得两条线段的交点的工具方法。该
类还包括获得切分后的经过合并等操作的多边形列表的方法。该方法还用到了判断切分的具体是
哪个多边形的方法。
(7)修 复 bug 辅助类 MyPatchUtil:该类的主要功能是通过将两个多边形合并成一个多边形的
方法修复该游戏的存在的一个 bug。该 bug 是在切割之后不该飞走的木板却飞走了。通过该类对
此 bug 的修复,使该游戏更加具有真实性和可玩性。
(8)物理引擎相关类:这些类中将圆形物体与绘制、线形物体的创建与绘制等进行封装。通
过对这些物体的封装,在开发游戏中可方便地使用,从而使开发的游戏更加具有真实性。同时还
包括碰撞过滤相关类。
3.绘制相关类
(1)自定义绘制矩形物体类 BNObject:该类封装了初始化矩形物体的顶点数据和纹理坐标数
据的方法,绘制火花、图形和木块飞走的 3 个方法,初始化数据和绘制方法相结合完成了矩形物
体的绘制。同时该类还包括初始化着色器的方法。
(2)自定义绘制多边形物体类 BNPolyObject:该类封装了初始化多边形物体的顶点数据和纹
理坐标数据的方法,绘制木块飞走和图形的方法。其中绘制木块飞走的方法中有根据手指切割的
方向来绘制不同的木块飞走的动作,增加了游戏的真实性。
4.粒子系统下雪特效相关类
这些类中将矩形物体的绘制与粒子的产生进行封装。通过对粒子最大生命周期、生命期步进、
起始颜色、终止颜色、目标混合因子、初始位置、当前索引和更新物理线程休息时间等属性的设
置,并初始化顶点数据和纹理数据进行绘制,实现下雪的效果。
637
17.3 游戏的架构
5.着色器
由于本游戏的画面绘制使用的是 OpenGL ES 2.0 渲染技术,所以需要着色器的开发。着色器
包括顶点着色器和片元着色器,在绘制画面前首先要加载着色器,加载完着色器的脚本内容并放
进集合,根据绘制物体的不同来选择相应的着色器。
17.3.2 游戏框架简介
接下来本小节将从游戏的整体架构上进行介绍,使读者对本游戏有更进一步的了解,首先介
绍的是游戏框架图,如图 17-21 所示。
▲图 17-21 游戏框架
说明
图 17-21 中列出了《切切乐》游戏框架,通过该图可以看出游戏主要由游戏界
面、计算几何辅助工具类、绘制类及下雪特效和物理引擎相关工具类等构成,其各
自功能后续将向读者详细介绍。
接下来按照程序运行的顺序逐步介绍各个类的作用以及整体的运行框架,使读者更好地掌握
本游戏的开发步骤,详细步骤如下。
(1)启动游戏。首先在 MyActivity 类中设置屏幕为全屏且为竖屏模式,然后创建声音管理类
SoundManager 的对象以及主布景类 MySurfaceView 的对象,最后跳转到 MySurfaceView 类。
(2)进入 MySurfaceView 类首先会初始化游戏中的菜单界面、游戏中所需的所有图片资源和
一些相关的方法。然后默认进入到欢迎界面。
(3)在欢迎界面中,玩家会看到“开始”“选项”“帮助”和“退出”4 个菜单。点击不同菜
单项程序会进入到菜单项对应的界面中,切换界面主要是通过 MySurfaceView 类的 onTouchEvent
方法确定选中的菜单项来调用相应的内部类实现的。
(4)当玩家点击“帮助”菜单项时,则将切换到“帮助”界面,帮助图片可以左右滑动。因
此向右滑动帮助图片可以翻到下一张图片,向左滑动可以翻到上一张图片。
(5)在打开本游戏时,玩家如果想要设置游戏声音的开关,可单击欢迎界面中的“选项”菜
单。点击后可切换到选项设置界面,玩家可以在该界面设置游戏背景音乐以及声音特效的开关。
(6)当玩家点击“开始”菜单项时,将进入到“选择系列”界面。在该界面中主要包括 3 个
系列菜单项,点击相应的菜单项进入该系列选择系列关卡界面。此外,该布景中还有下雪粒子系
统效果。
(7)在选择系列关卡界面中,当玩家点击不同关卡图标时,将切换到该关卡游戏界面。该界
剩余40页未读,继续阅读
好知识传播者
- 粉丝: 1667
- 资源: 4133
下载权益
电子书特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功