第一篇:51CTO学院-Cocos2d-x 3.x 项目实战:仿微信飞机大战(射击类游戏)视频教程
QQ/电话:400-851-9651
网址:edu.51CTO.com
Cocos2d-x 3.x 项目实战:仿微信飞机大战(射击类游戏)视频教程
课程目标
让学员了解如何使用Cocos2d-x 3.x开发一款射击类游戏
适用人群
已经掌握cocos2d-x 3.x技术,但缺乏项目实战的程序员。
课程简介
课程目标:
本课程将帮助广大Cocos2d-x学员了解如何使用Cocos2d-x开发一款相对简单的射击类游戏。学员将会了解开发一款完整游戏的基本步骤,并学会如何将《从零开始掌握Cocos2d-x 3.x》中的知识转化为实际的游戏。学员将从这款游戏中学习到如何建立游戏的基本框架、如设置背景音乐、显示欢迎画面、移动飞机、发射子弹、碰撞检测等开发游戏必备的技术。
适合对象:
已经对Cocos2d-x 3.x的基本知识有所了解的开发人员。
学习条件:
1.要求对C++有所了解
2.熟悉Cocos2d-x 3.x的基本技术,如场景、图层、精灵、动作等
课程 游戏效果演示(包括Cocos2d-x学习路线图介绍)[免费观看]
6分钟
本讲演示的飞机大战的效果和功能,我们从本视频课程会学习到哪些知识以及Cocos2d-x学习路线的介绍。游戏的基本架构 [免费观看]
7分钟
本讲主要介绍了游戏中三对场景类和图层类的作用,并演示了相关的效果。这些类包括StartScene、StartLayer、GameScene、GameLayer、GameoverScene和GameoverLayer。
QQ/电话:400-851-9651
网址:edu.51CTO.com 预装载音效文件,并播放、暂停和恢复背景音乐 [免费观看]
12分钟
本讲主要介绍了如何在StartScene中预装载游戏中使用的音效文件(mp3文件),以及如何播放、暂停和恢复背景音乐。显示欢迎界面和动画 [免费观看]
19分钟
本讲主要在开始图层中显示背景图、欢迎图像(飞机大战)以及利用动画技术显示欢迎动画。欢迎界面关闭后,进入游戏场景
19分钟
本讲主要实现了党欢迎动画结束后,进入游戏场景(GameScene)的过程。在本讲中创建了游戏图层和游戏场景,并修改了启动欢迎动画的代码,以便可以在动画播放完毕后通过loadingDone方法进入GameScene。移动背景
22分钟
本讲主要介绍了如何利用两个完全一样的背景图做不简单的背景移动,从而让玩家产生错觉,感觉是飞机在移动。在屏幕上显示带喷气动画的飞机
17分钟
本讲主要介绍了如何在屏幕上放一个带喷气动画的飞机。本讲的核心内容是编写PlaneLayer类以及无限循环播放动画。通过手指任意移动飞机
23分钟
QQ/电话:400-851-9651
网址:edu.51CTO.com
本讲主要介绍了如何利用触摸事件任意移动飞机,以及如何阻止飞机移出边界。让子弹飞(1):建立BulletLayer类的框架
14分钟
本讲主要实现了封装子弹功能的BulletLayer类的框架。让子弹飞(2):初始化和移除子弹
6分钟
本讲主要实现了BulletLayer类的初始化部分以及移除子弹部分。让子弹飞(3):开始和停止射击
22分钟
本讲主要实现了子弹的发射和停止代码(需要通过飞机精灵确定子弹发射的起始位置),并且将子弹图层添加到当前的游戏场景中。编写敌机的容器类:Enemy 13分钟
Enemy类用于存储和获取与敌机的相关信息(如生命值、Rect等),也是敌机精灵的容器类。所以在添加敌机之前,先要实现该类。实现敌机层类EnemyLayer:初始化部分
16分钟
本讲介绍了EnemyLayer的作用,并实现了EnemyLayer中的初始化部分,以及为添加第一类敌机做准备。实现敌机层类EnemyLayer:让第一类敌机动起来
16分钟
QQ/电话:400-851-9651
网址:edu.51CTO.com
本讲主要介绍了如何添加第一类敌机(最小、最多的敌机),并且如何让第一类敌机以不同的速度在随机的位置匀速向下运动。实现敌机层类EnemyLayer:让第二类敌机动起来
13分钟
本讲主要介绍如何在游戏中添加第二类敌机(较大的敌机),该敌机数量较少,运行较慢。实现敌机层EnemyLayer:让第三类敌机动起来
13分钟
本讲主要介绍了如何添加第三类敌机(最大的敌机,需要多发炮弹才能摧毁),并且让第三类敌机从上到下匀速运动。检测第一类敌机和子弹的碰撞
26分钟
本讲主要介绍了如何进行碰撞检测,以及敌机爆炸效果和音效的实现。检测第二类敌机和子弹的碰撞
6分钟
本讲主要介绍了如何检测第二类敌机与子弹碰撞的效果,并实现了第二类敌机爆炸的动画和音效。检测第三类敌机和子弹的碰撞
5分钟
本讲主要介绍了如何检测第三类敌机与子弹碰撞的效果,并实现了第三类敌机爆炸的动画和音效。检测第一类敌机与飞船的碰撞
13分钟
本讲主要介绍了如何实现第一类敌机与飞船的碰撞,并且实现了飞船的爆炸效果。
QQ/电话:400-851-9651
网址:edu.51CTO.com 检测第二类和第三类敌机与飞船的碰撞
2分钟
本讲主要介绍了检测第二类和第三类敌机与飞船的碰撞的方法。多路子弹发射【1】(两排子弹)
12分钟
本讲主要介绍了让飞船从单路转换为多路发射子弹的降落伞的框架类的编写。多路子弹发射【2】
14分钟
本讲将实现添加降落伞和下落的具体代码。多路子弹发射【3】
9分钟
本讲主要介绍了MultiBulletsLayer架构的实现,该类负责显示多路子弹。多路子弹发射【4】
18分钟
本讲主要实现了MultiBulletsLayer类的相关代码。多路子弹发射【5】
8分钟
本讲会介绍如何检测降落伞和飞船的碰撞,并在多路子弹和单路子弹之间进行切换。多路子弹与敌机的碰撞检测
6分钟
QQ/电话:400-851-9651
网址:edu.51CTO.com
本讲介绍了如何进行多路子弹与敌机的碰撞检测,并让敌机产生爆炸效果。超级炸弹【1】
4分钟
本讲主要介绍了UFOLayer类中添加超级炸弹降落伞的框架部分的实现。超级炸弹【2】
8分钟
本讲介绍了如何实现超级炸弹降落伞。摧毁所有敌机
5分钟
本讲会实现一些方法,用于摧毁所有的敌机。这些方法将在触摸超级炸弹时被调用。
引爆超级炸弹
25分钟
本讲会介绍如何在屏幕上显示超级炸弹,如何进行超级炸弹降落伞与飞船碰撞检测,以及如何引爆超级炸弹。
飞船被摧毁处理【1】
14分钟
本讲主要介绍当飞船(plane)被摧毁后,如何切换到游戏结束场景。
飞船被摧毁处理【2】
27分钟
本讲主要介绍当飞船(plane)被摧毁后,如何切换到游戏结束场景(具体实现部分)。
QQ/电话:400-851-9651
网址:edu.51CTO.com 在暂停游戏时阻止触摸事件
9分钟
本讲主要介绍了如何在暂停游戏时阻止触摸事件的传递。
实现暂停/恢复和当前分数显示牌
20分钟
本讲会完成左上角暂停/恢复和当前分数显示牌的实现代码。其中需要和NoTouchLayer配合使用。
利用ControlLayer累加当前的分数
5分钟
本讲将介绍如何使用ControlLayer中的方法累加并更新当前获得的分数。
将当前获得的分数传入PlaneLayer 3分钟
本讲主要介绍了如何修改PlaneLayer类的代码,将score传入PlaneLayer 38 在游戏启动时装载历史最高分(游戏已经完成)
5分钟
最后的收尾工作,装载历史最高分。