Unity游戏开发2018年教程,unity进阶(完)

(含4个月全课程, 含1~773集,每一集知识点,知识点时间戳,互助群收集,资源网站收集等)
有道笔记(复制到浏览器打开):https://note.youdao.com/s/17qp3xZQ
https://www.bilibili.com/video/BV1K7411Z77R (电脑版可以右键-视频音效调节-清澈人声)
只有电脑端的B站支持此功能, 移动端需要先访问电脑版的B站再设置(手机浏览器设置“访问电脑版”功能)
2018第三个月
P1:
3分-课程安排介绍,
18分-面向对象概念,
33分-类与对象,
1小时-面向对象思想,
2小时-ARPG Demo
分而治之,分装变化,高内聚,低耦合
类与类分工标准:是否可能发生 变化
P2:
23分创建文件,
32分修改unity脚本模版,
45分 写motor类,
54分写Controller类,
1时13分普通C#类,Parameter,知识点:[可序列化][System.Serializable],
1h48分 [Tooltip("提示")]
P3:
34分 [RequireComponent(typeof(CharacerMotor),typeof(PlayerStatus))]
38分 封装数据,设计思想
59分 访问修饰符
1时15 继承
1时22 老师,学生,人 继承案例
1时28 内存图
1时35 类型对象指针,同步块索引
🌝🌝New 子类,成员中也会有父类成员,但是不会new父类对象。 方法是所有类的实例共享的,不存在堆中。
父类引用指向子类对象,只能点出父类成员(受类型制约)。 将引用的数据类型向下转型as,可以访问子类型对象。
原理: 可以点出什么成员,取决于引用类型,实际有什么取决于堆中对象)
子类引用指向父类型对象=报错
2时5分 回家 ,火车 ,飞机,汽车 【抽象类和方法】案例
2时11 开闭原则
P4:
20分 使用抽象类的时机
抽象父类的属性成员可以给子类用
37分 薪资计算案例
1时27分 对象初始化器
1时40 展示父类引用传入子类对象,调用父类方法,实际调用子类重写后的方法
1时54分 新需求=改职位
把工资算法和职业类型全部拿出去, Employee里面只存Name和JobType,JobObject
2时42 组合复用原则
P5:
10分 新案例:各种狗(简单案例)
17分 继承的缺点
47分 方法在内存中的表现
1时20分 方法隐藏原理
1分45 接口
🌝🌝
接口: 不能存在字段,属性和方法子类必须实现。 1: 没有成员让子类用 2: 接口不唯一
P6:
1分 接口语法,接口与接口多继承
14分 接口显式实现
25分 手雷数组排序,IComparable
P7:
2分 制作排序器(排序类)ICompare
19分 冒泡排序 (这里可以跳到下方的“补充课程”,学一下Lambda表达式)
抽象类:一个概念的抽象
接口:一组行为的抽象
委托:一类行为的抽象
用继承: 一个类代表其他,复用为主
1时10分 foreach的原理- 获取IEnumerator
P8:
携程原理:
疑似,Unity以游戏物体为单位,每帧调用游戏物体的协同程序(禁用组件脚本不会停止已开始的协程)的MoveNext()方法,除非yield return还未能返回值则不调用MoveNext()
WaitForSecond原理: 疑似,在update中计时并检查,达到时间则返回值
33分 Unity内测试协程
40分 在Unity中不用StartCoroutine, 手动调yield自动生成的MoveNext()方法
58分55秒 可以被yield的对象,waitforsecond, waitforfixedupdate等
1时 30 案例:物体材质淡出
2时17 修改物体材质颜色必须创建新颜色
2时47 使用动画曲线修改颜色
Update适合做从头到尾一直做的,协程退出后不占用性能
P9:
4 分 一个协程yield return另一个协程, 效果为yield return内部的协程完全结束才继续本携程,但最外层调用的方法如果不是以yield return调用的,则不会排到后面
1时 协程嵌套实现寻路案例
1时25 Dao案例抽象工厂,接口用法
对于只用判断一次的参数(数据储存类型Server/Client)使用构造函数构造类的静态实例,构造函数中选择正确的子类
2时52 此框架优点:脚本不涉及数据储存方式,实现软件并行开发
写不下了 其他内容请进入在线笔记查看