资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
Cocos2d-x游戏开发工程师职业学习路线图
职业前景
随着移动互联网的发展, Cocos2d-x游戏开发工程师已经成为薪资增长最快的职业, 截至 底, 平均月薪达10162元。
简介内容
本路线图课程面向零基础学员, 目标是让学生深入学习C++后, 对Cocos2d-x的所有核心功能有一个深入的了解, 并能够使用这些知识开发完整的游戏项目, 包含《征服C++11》、 《从零开始掌握Cocos2d-x3.x》( 共12季) 、 《Cocos2d-x项目实战: 仿微信飞机大战》、 《Cocos2d-x项目实战: 星空大战》4套视频课程。课程采用Cocos2d-x最新的版本, 视频中所有的例子可同时适用于XCode、 Eclipse和VisualStudio , 读者可自由选择自己喜欢的开发平台和开发工具。
学习建议
1、 有些demo如测试多点触摸、 传感器等, 只能在移动设备上进行测试, 不能在PC上测试, 因此对于这些Demo, 只能选择XCode和Eclipse(可生成Android的APK文件) ;
2、 本系列课程从C++的基础开始讲起, 涉及到了标准C++的几乎全部内容, 而且经过《从零开始掌握Cocos2d-x3.x》视频课程深度讲解了Cocos2d-x中的核心开发技术。学员经过这两个课程就可掌握用于开发游戏的最核心的技术, 然后再经过《Cocos2d-x项目实战: 仿微信飞机大战》和《Cocos2d-x项目实战: 星空大战》两个实战课程, 能够对使用Cocos2d-x开发游戏的流程有一个深入的理解, 并学会如何将知识转化为生产力。
3、 如果学员的C++基础很薄弱, 建议先学习《征服C++11》视频教程的基本部分, 然后再学习Cocos2d-x的相关知识。当然, C++和Cocos2d-x也能够交叉学习, 相辅相成。如果C++和Cocos2d-x都掌握了, 能够继续看后面的两个游戏实战类的项目。
掌握C++语言
征服C++11( 史上最权威C++视频教程)
· 1课程概述( 包含移动应用和游戏开发学习网络介绍) 【免费】
· 2C++的开发环境搭建【免费】
· 3先来编写第一个C++程序【免费】
· 4C++程序的总入口: main函数【免费】
· 5C++注释到底是怎样的【免费】
· 6第一个预编译指令#include【免费】
· 7命名空间( namespace) 、 cout与endl【免费】
· 8变量和命名规范【免费】
· 9基础数据类型: 整型【免费】
· 10基础数据类型: 字符( char) 【免费】
· 11C++中的特殊字符【免费】
· 12宽字符类型( 包括C++11支持的类型) 【免费】
· 13基础数据类型: 布尔( bool) 【免费】
· 14基础数据类型: 浮点类型【免费】
· 15浮点类型值的存储方式【免费】
· 16变量初始化( 包括C++11中的初始化方式) 【免费】
· 17常量【免费】
· 18C++中的基本操作符( Operator) 【免费】
· 19自动类型转换【免费】
· 20强制类型转换【免费】
· 21C++11中的auto关键字【免费】
· 22数组基础【免费】
· 23数组初始化( 包括C++11中的数组初始化方法) 【免费】
· 24C风格的字符串
· 25C风格字符串的输入
· 26C++风格的字符串: string类
· 27字符串的复制、 连接和获取长度【免费】
· 28宽字符串和RawString
· 29结构体的定义、 初始化和使用
· 30结构体( Struct) 数组
· 31计算结构体( Struct) 尺寸
· 32结构体( Struct) 的位字段
· 33共享体( Union)
· 34枚举类型变量的定义和赋值
· 35设置枚举类型成员的值
· 36枚举类( enumclass) : C++11新特性
· 37枚举类型的尺寸【免费】
· 38匿名类型和类型别名
· 39指针基础
· 40指针移动与数据类型
· 41关于指针初始化的问题
· 42使用new动态分配内存空间
· 43使用delete释放内存空间
· 44动态创立和释放数组
· 45使用动态创立的数组
· 46指针与字符串
· 47常量指针与指针常量
· 48使用new动态创立结构体
· 49使用new动态创立共享体
· 50多维数组和多级指针
· 51vector模板类基础
· 52数组模板基础
· 53for循环
· 54用for-in循环枚举集合中的元素( C++11)
· 55集合与指针( begin&&end)
· 56while循环
· 57do...while循环
· 58循环退出( break) 和继续( continue)
· 59自增( ++) 、 自减( --)和组合赋值操作符
· 60goto语句与深层循环
· 61条件语句if和do...while(0)形式的宏
· 62逻辑表示式与短路问题
· 63处理字符的函数集: cctype
· 64问号( ?) 操作符
· 65条件语句: switch
· 66函数基础
· 67函数参数与值传递
· 68函数与数组类型的参数
· 69函数与C风格的字符串
· 70函数与结构体、 共享体
· 71函数指针
· 72内联( inline) 函数
· 73可在编译时计算为常量的函数( constexpr)
· 74引用类型的变量
· 75引用类型的函数参数
· 76引用类型的结构体函数参数
· 77函数中的默认参数
· 78函数重载( overload)
· 79函数模板( 相当于Java中的泛型)
· 80函数模板重载
· 81函数模板的特例化
· 82模板函数特例化( 补充)
· 83decltype关键字( C++11)
· 84decltype的规则( C++11)
· 85decltype与返回值
· 86#include头文件的原理和规则
· 87解决#include重复定义的问题
· 88#include的循环引用问题
· 89头文件中建议包含的和不建议包含的内容
· 90定义和声明
· 91链接性为外部和内部的变量
· 92函数中的静态变量( 无链接性的局部变量)
· 93mutable说明符( 允许设置const结构体变量的成员值)
· 94const对链接性的影响
· 95函数的链接性
· 96语言链接性
· 97命名空间的定义
· 98使用usingnamespace和using引用命名空间中的资源
· 99嵌套命名空间
· 100匿名命名空间
· 101类定义和成员访问控制
· 102定义和实现类中的方法
· 103内联方法
· 104类的初始化和构造方法
· 105默认构造方法和参数默认值
· 106析构方法
· 107C++11初始化对象的方式总结
· 108常量( const) 方法
· 109this指针
· 110对象数组
· 111类中的常量( const)
· 112类中的枚举类型
· 113操作符重载
· 114函数形式的操作符重载
· 115操作符重载的限制
· 116友元函数
· 117友元函数与<<操作符重载
· 118类型转换( 数值和对象之间的互转, 转换函数的编写)
· 119类中静态变量和静态常量的初始化问题
· 120复制构造方法
· 121使用复制构造方法可能会带来的问题
· 122类的静态成员方法
· 123函数/方法的参数和返回值应该返回对象, 还是对象引用
· 124操作符重载返回常量对象引用, 还是对象引用
· 125类的继承
· 126子类构造方法调用父类的构造方法
· 127虚方法与多态
· 128protected访问控制
· 129抽象类和纯虚函数
· 130valarray模板类
· 131成员变量的初始化顺序
· 132C++中的单件模式( Singleton)
· 133explicit与单参数的构造方法
· 134私有( private) 继承
· 135避免操作符重载造成的递归调用
· 136保护( protected) 继承
· 137使用using重新定义访问权限
· 138C++中的多继承
· 139多继承与共同基类的问题
· 140虚基类( 虚继承)
· 141多继承与父类方法冲突
· 142模板类
· 143模板中的非类型参数
· 144模板的继承和组合
· 145递归使用模板
· 146拥有多个类型参数的模板
· 147默认类型参数
· 148模板类的显式具体化
· 149模板类的部分具体化
· 150成员模板
· 151将模板类作为类型参数的类型
· 152模板类与友元函数
· 153模板别名( C++11)
· 154友元类
· 155友元成员方法( 相当虐心)
· 156互为友元类
· 157共同的友元函数
· 158嵌套类基础
· 159嵌套类的访问权限
· 160模板类中的嵌套类
· 161错误返回码与abort函数
· 162引发异常与捕捉异常( throw, try...catch)
· 163将对象作为异常表示式抛出
· 164异常捕捉的else
· 165异常类的基类: exception
· 166throw和noexcept
· 167系统的预定义异常类
· 168捕获由new产生的异常
· 169阻止new抛出异常
· 170类型识别: dynamic_cast运算符
· 171dynamic_cast与引用类型转换
· 172类型识别: typeid运算符
· 173类型转换运算符概述
· 174const_cast运算符
· 175static_cast运算符
· 176reinterpret_cast运算符
· 177string类的构造方法
· 178输入string类型的值
· 179string值的比较和定位
· 180获取string的尺寸和分配的空间大小
· 181智能指针的基本用法
· 182auto_ptr、 shared_ptr和unique_ptr的区别和应用场景
· 183unique_ptr与临时右值
· 184如何选择智能指针
· 185标准模板库( STL) 概述
· 186迭代器( Iterator) 基础
· 187用于替代for语句的for_each函数
· 188用于随机排列容器中元素值的random_shuffle函数
· 189用于对容器中元素值排序的sort函数
· 190用于查找容器中元素值的find函数
· 191用于复制容器元素值的copy函数
· 192枚举容器中元素的3种方法
· 193将STL算法用于非STL容器
· 194STL中的容器
· 195双向链表容器类: list
· 196同时兼具vector和list优势的双端队列: deque
· 197单向链表容器: forward_list( C++11)
· 198队列容器类: queue
· 199永远获得最大值的队列容器类: priority_queue
· 200栈容器类: stack
· 201数组模板类: array
· 202集合容器类: set
· 203支持重复值的集合容器类: multiset
· 204映射容器类: map
· 205允许key重复的映射容器类: multimap
· 206无序关联容器( C++11)
· 207函数对象
· 208STL中预定义的函数对象( 函数符)
· 209STL中的算法函数
· 210STL与string
· 211lambda表示式基础
· 212为什么要使用lambda表示式
· 213lambda表示式的参数和返回值类型
· 214lambda表示式与变量的访问权限
· 215lambda表示式类型
· 216将lambda表示式作为委托( Delegate) 的方法
· 217模板调用的低效性
· 218用function包装器解决模板调用的低效性问题
· 219更简洁地使用function包装器
· 220可变参数模板
· 221Boost简介
· 222下载和安装BoostLibrary
· 223第一个Boost程序
· 224字符串和日期类型互转
· 225计算两个时间之间的间隔( 以天为单位)
· 226经过改变年来改变日期
· 227计算指定月的天数
· 228array的新特性
· 229双值映射( bimap)
· 230多值索引容器( multi_index_container)
· 231线程基础
· 232线程中断
· 233线程同步
· 234正则表示式与字符串进行比较
· 235在字符串中搜索所有满足正则表示式规则的子字符串
· 236替换字符串中符合正则表示式规则的子字符串
· 237分隔字符串
· 238元组类型( tuple)
学习Cocos2d-x核心技术
从零开始掌握Cocos2d-x3.x视频教程第1季__开发环境搭建
· 1Cocos2d-x及跨平台技术简介( 本套餐完整源代码请加QQ群索取) 【免费】
· 2使用cocos命令创立Cocos2d-x3.0跨平台工程【免费】
· 3使用cocos和XCode编译和运行Cocos2d-x3.0foriOS/Mac程序
· 4使用cocos和Eclipse编译和运行Cocos2d-x3.0forAndroid程序
· 5使用cocos和VS 编译和运行Cocos2d-x3.0forWin32程序【免费】
从零开始掌握Cocos2d-x3.x视频教程第2季__基本概念和基础知识
· 1Cocos2d-x3.0工程结构分析( 本套餐完整源代码请加QQ群索取) 【免费】
· 2Cocos2d-x3.0视频教程Demo框架代码解析与添加新的菜单项类
· 3修改游戏的默认启动画面、 图标和图标下方的文字
· 4Director( 导演类) 和屏幕适配
· 5多语言适配【免费】
· 6Cocos2d-x中的坐标系
· 7节点类( Node) 、 锚点和坐标转换
· 8Cocos2d-x3.0中的ARC机制( 1)
· 9Cocos2d-x3.0中的ARC技术( 2)
· 10Cocos2d-x3.0中的集合类【免费】
从零开始掌握Cocos2d-x3.x视频教程第3季__核心类( Sprite等) 详解
· 1创立、 运行和切换场景【免费】
· 2场景切换特效( 1) 【免费】
· 3场景切换特效( 2)
· 4场景切换特效( 3)
· 5场景切换特效( 4)
· 6图层类( Layer) 的基本应用
· 7颜色图层类( LayerColor)
· 8渐变图层类( LayerGradient) 【免费】
· 9多图层管理类( LayerMultiplex)
· 10Sprite类
· 11纹理类( Texture2D) 和纹理缓存类( TextureCache)
· 12精灵批处理类( SpriteBatchNode)
· 13精灵框架类( SpriteFrame) 【免费】
· 14精灵框架缓冲类( SpriteFrameCache)
· 15九宫格缩放精灵类( Scale9Sprite)
从零开始掌握Cocos2d-x3.x视频教程第4季__标签和菜单
· 1LabelTTF类( 使用TTF字体文件) 【免费】
· 2LabelAtlas类( 截取图像的标签类)
· 3LabelBMFont类( 使用FNT字体文件的标签类)
· 4如何生存FNT字体文件
· 5Menu类简介【免费】
· 6标签菜单类( MenuItemLabel) 【免费】
· 7字体菜单类( MenuItemFont)
· 8精灵菜单类( MenuItemSprite)
· 9图像菜单类( MenuItemImage)
· 10开关菜单类( MenuItemToggle)
从零开始掌握Cocos2d-x3.x视频教程第5季__控件详解
· 1控件简介【免费】
· 2文本控件( Text、 TextAtlas和TextBMFont) 【免费】
· 3按钮控件( Button)
· 4文本输入框控件( TextField)
· 5高级文本输入框控件( EditBox)
· 6复选框控件( CheckBox)
· 7开关控件( ControlSwitch)
· 8图像框控件( ImageView)
· 9进度条控件( LoadingBar)
· 10滑杆控件( Slider)
· 11高级滑杆控件( ControlSlider)
· 12步进控件( ControlStepper)
· 13列表控件( ListView)
· 14表格控件( TableView)
· 15滚动视图控件( ScrollView)
· 16UI布局( Layout)
· 17分页控件( PageView)
· 18颜色选择器控件( ControlColourPicker)
从零开始掌握Cocos2d-x3.x视频教程第6季__事件处理与调度机制
· 1单点触摸【免费】
· 2多点触摸
· 3键盘响应事件
· 4鼠标响应事件
· 5加速度传感器事件
· 6自定义事件
· 7update调度器
· 8设置update调度器的优先级
· 9自定义调度器
· 10停止调度器
从零开始掌握Cocos2d-x3.x视频教程第7季__常见的动作( Action)
· 1动作简介【免费】
· 2沿直线匀速移动动作( MoveBy/MoveTo) 【免费】
· 3跳跃动作( JumpBy/JumpTo)
· 4贝塞尔曲线动作( BezierBy/BezierTo)
· 5固定张力的样条曲线动作( CatmullRomBy/CatmullRomTo)
· 6可变张力的样条曲线动作( CardinalSplineBy/CardinalSplineTo)
· 7旋转动作( RotateBy/RotateTo)
· 8缩放动作( ScaleBy/ScaleTo)
· 9闪烁动作( Blink)
· 10淡入淡出动作( FadeIn/FadeOut)
· 11透明渐变动作( FadeTo)
· 12颜色渐变动作( TintBy/TintTo)
· 13顺序执行动作( Sequence)
· 14并行动作( Spawn)
· 15重复执行动作( Repeat)
· 16无限循环动作( RepeatForever)
· 17反序动作( ResverseTime)
· 18可立即执行的动作
· 19回调函数动作( CallFunc/CallFuncN)
从零开始掌握Cocos2d-x3.x视频教程第8季__绘图API与动画
· 1绘制像素点和直线【免费】
· 2绘制空心圆和实心圆
· 3绘制空心矩形和实心矩形【免费】
· 4绘制实心多边形和空心多边形
· 5绘制贝塞尔曲线
· 6绘制张力样条曲线
· 7基于绘图API与调度器的动画
· 8播放帧动画
从零开始掌握Cocos2d-x3.x视频教程第9季__存储与网络技术
· 1使用UserDefault读写Key-Value类型的数据【免费】
· 2读写流文件
· 3使用tinyxml2生成XML文件
· 4使用tinyxml2以DOM方式读取XML文件
· 5使用SAXParser以SAX方式读取XML文件
· 6使用rapidjson读写JSON文件
· 7使用SQLite数据库
· 8使用HttpClient发送Get请求
· 9使用HttpClient发送Post请求
· 10使用WebSocket
· 11使用SocketIO
从零开始掌握Cocos2d-x3.x视频教程第10季__瓦片地图
· 1地图的种类和用途【免费】
· 2地图编辑器( Tiled) 简介【免费】
· 3用Tiled编辑地图
· 4在程序中显示地图
· 5隐藏和显示图层
· 6获取图块的属性值
· 7编辑图块
· 8在地图中添加精灵
· 9移动地图上的精灵
· 10拖动地图
从零开始掌握Cocos2d-x3.x视频教程第11季__粒子系统
· 1粒子系统概述【免费】
· 2Cocos2d-x内置粒子特效: 群星闪烁【免费】
· 3Cocos2d-x内置粒子特效: 幽灵鬼火
· 4Cocos2d-x内置粒子特效: 群星爆炸
· 5粒子系统属性详解
· 6五彩旋转戒指特效
· 7放大版的群星闪烁
· 8粒子特效设计器: ParticleDesigner( 仅适用于OSX) 【免费】
· 9粒子特效设计器: ParticleEditor( 仅适用于Windows) 【免费】
· 10使用plist文件实现长尾彗星特效
· 11将用代码实现的粒子特效转换为plist特效文件
· 12操控粒子特效: 燃烧的圣火
从零开始掌握Cocos2d-x3.x视频教程第12季__物理引擎
· 1物理引擎概述【免费】
· 2Cocos2d-x3.x中抽象封装的物理引擎【免费】
· 3Android平台如何使用物理引擎
· 4改变Android和iOS平台默认的物理引擎
· 5碰撞检测原理
· 6碰撞检测实战
· 7在平台上弹跳的足球
· 8足球之间的撞击特效
· 9砸在足球上的骷髅堆
· 10用重力感应控制足球穿过迷宫
游戏项目实战
5%
Cocos2d-x3.x项目实战: 仿微信飞机大战(射击类游戏)视频教程
· 1游戏效果演示( 包括Cocos2d-x学习路线图介绍) 【免费】
· 2游戏的基本架构【免费】
· 3预装载音效文件, 并播放、 暂停和恢复背景音乐【免费】
· 4显示欢迎界面和动画【免费】
· 5欢迎界面关闭后, 进入游戏场景
· 6移动背景
· 7在屏幕上显示带喷气动画的飞机
· 8经过手指任意移动飞机
· 9让子弹飞( 1) : 建立BulletLayer类的框架
· 10让子弹飞( 2) : 初始化和移除子弹
· 11让子弹飞( 3) : 开始和停止射击
· 12编写敌机的容器类: Enemy
· 13实现敌机层类EnemyLayer: 初始化部分
· 14实现敌机层类EnemyLayer: 让第一类敌机动起来
· 15实现敌机层类EnemyLayer: 让第二类敌机动起来
· 16实现敌机层EnemyLayer:让第三类敌机动起来
· 17检测第一类敌机和子弹的碰撞
· 18检测第二类敌机和子弹的碰撞
· 19检测第三类敌机和子弹的碰撞
· 20检测第一类敌机与飞船的碰撞
· 21检测第二类和第三类敌机与飞船的碰撞
· 22多路子弹发射【1】( 两排子弹)
· 23多路子弹发射【2】
· 24多路子弹发射【3】
· 25多路子弹发射【4】
· 26多路子弹发射【5】
· 27多路子弹与敌机的碰撞检测
· 28超级炸弹【1】
· 29超级炸弹【2】
· 30摧毁所有敌机
· 31引爆超级炸弹
· 32飞船被摧毁处理【1】
· 33飞船被摧毁处理【2】
· 34在暂停游戏时阻止触摸事件
· 35实现暂停/恢复和当前分数显示牌
· 36利用ControlLayer累加当前的分数
· 37将当前获得的分数传入PlaneLayer
· 38在游戏启动时装载历史最高分( 游戏已经完成)
Cocos2d-x3.x项目实战: 星空大战( 射击类游戏)
· 1《星空大战》射击游戏的效果演示【免费】
· 2《星空大战》游戏的架构【免费】
· 3创立游戏工程【免费】
· 4缓存游戏中使用的资源【免费】
· 5创立游戏主窗口【免费】
· 6滚动游戏背景
· 7让云彩在背景上移动
展开阅读全文