资源描述
Cocos2d-x游戏开发工程师职业学习路线图
职业前景
随着移动互联网的发展,Cocos2d-x游戏开发工程师已经成为薪资增长最快的职业,截至2023年终,平均月薪达10162元。
简介内容
本路线图课程面向零基础学员,目的是让学生进一步学习C++后,对Cocos2d-x的所有核心功能有一个进一步的了解,并可以使用这些知识开发完整的游戏项目,包含《征服C++11》、《从零开始掌握Cocos2d-x3.x》(共12季)、《Cocos2d-x项目实战:仿微信飞机大战》、《Cocos2d-x项目实战:星空大战》4套视频课程。课程采用Cocos2d-x最新的版本,视频中所有的例子可同时合用于XCode、Eclipse和VisualStudio2023,读者可自由选择自己喜欢的开发平台和开发工具。
学习建议
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和VS2023编译和运营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让云彩在背景上移动
展开阅读全文