保卫萝卜是2D塔防游戏里边的一个经典案例,这次去开发这个游戏,我们会尽力去实现和原版一样的功能,做好我们可以处理好的每一个游戏细节(比如塔攻击的集火目标优先攻击,与自动搜索,格子的三种处理逻辑,UI的更新与信息传递等等)。
项目包含音效背景音乐,玩家各类信息的统计与存贮,帮助页面的单滑与多滑滚动视图的实现,关卡的解锁与UI数据的更新与信息传递,15个关卡,36种怪物,5种典型塔(其他塔都是由这几种基本塔去衍生的,制作方法一样),子弹,奖励礼品的获取,通关徽章的获取,宠物的孵化,养成,与玩家交互,隐藏关卡的解锁,100多个细节动画的制作与使用。体验注重细节处理的案例开发的全过程。
目录
课时 1 : 000-课程演示
02:37
课时 2 : CarrotFantasy课程资料,素材
课时 3 : 截止636节工程源码
课时 4 : 截止704节工程源码
课时 5 : 截止801节工程源码
课时 6 : (结课版)CarrotFantasy
课时 7 : 项目最终修改完成的Json文件夹
课时 8 : 完整未处理素材包
第1章: 课程与项目介绍
课时 9 : 101-课程介绍
04:49
课时 10 : 102-游戏功能总览(上)
05:50
课时 11 : 103-游戏功能总览(下)
10:18
第2章: 游戏整体架构梳理与UML图制作
课时 12 : 201-作图工具ProcessOn以及pos文件的导入与导出
09:31
课时 13 : 202-游戏中的管理者
06:38
课时 14 : 203-游戏物体工厂
08:41
课时 15 : 204-资源工厂与UI中介
07:06
课时 16 : 205-游戏中的UI面板
10:58
课时 17 : 206-场景状态
07:09
课时 18 : 207-UML图的完善
08:51
第3章: UIPanel的制作与UI细节功能的学习与实现
课时 19 : 301-工程与重要文件夹的创建
07:39
课时 20 : 302-插件,库文件与素材包的导入
06:02
课时 21 : 303-素材的浏览,文件编排方式
06:50
课时 22 : 304-文件归置的说明与场景的创建
07:59
课时 23 : 305-最后的准备工作
07:30
课时 24 : 306-实验课的形式与说明
07:14
课时 25 : 307-实验:探究Dotween静态方法的使用
08:24
课时 26 : 308-探究Dotween直接作用于transform的方法
08:31
课时 27 : 309-探究Dotween动画的循环使用
07:34
课时 28 : 310-探究Dotween动画的事件回调以及缓动函数的使用
10:02
课时 29 : 311-StartLoadPanel的制作
06:09
课时 30 : 312-MainPanel的总体制作
11:46
课时 31 : 313-MainPanel按钮的制作
08:12
课时 32 : 314-MainPanel的萝卜抖叶动画
08:46
课时 33 : 315-MainPanel的萝卜生长动画与云朵怪物的制作
08:19
课时 34 : 316-SetPanel页面的制作分析
07:16
课时 35 : 317-选项页面的制作
06:48
课时 36 : 318-选项页面的完善与数据统计页面的制作
09:14
课时 37 : 319-帮助面板怪物页面的制作
08:39
课时 38 : 320-帮助面板公用页面与页数显示UI的制作
09:12
课时 39 : 321-实验:GridLayoutGroup组件的使用学习
09:20
课时 40 : 322-GridLayoutGroup组件的进一步探究
08:16
课时 41 : 323-探究ScrollRect组件的成员变量的作用
08:22
课时 42 : 324-ScrollView的滑块组成显示与隐藏
07:01
课时 43 : 325-实验:探究RectTransform的成员变量
09:47
课时 44 : 326-探究Rect封装的诡异API
10:07
课时 45 : 327-获取当前UI的宽高
07:39
课时 46 : 328-用代码控制当前的滑动比例
10:02
课时 47 : 329-关于ScrollView事件监听的使用探究
08:00
课时 48 : 330-帮助页面的制作
10:19
课时 49 : 331-炮塔说明页面的制作
07:22
课时 50 : 332-修改游戏UML图的里选择页面的设计
09:04
课时 51 : 333-游戏中的加载面板与关卡选择面板的制作
07:15
课时 52 : 334-GameNormalBigLevelPanel的制作
06:36
课时 53 : 335-GameNormalBigLevelPanel的细节完善
08:39
课时 54 : 336-GameNoramlLevelPanel面板的制作分析
07:46
课时 55 : 337-GameNoramlLevelPanel的静态变更UI与动态加载UI分析
07:08
课时 56 : 338-建塔列表的显示制作与地图卡片的ScrollView
08:36
课时 57 : 339-地图卡片预制体的制作
08:17
课时 58 : 340-Boss模式的UI面板的制作说明
05:31
课时 59 : 341-冒险模式的顶部UI显示面板
06:19
课时 60 : 342-TopPage的细节完善
07:35
课时 61 : 343-菜单页面的制作
06:32
课时 62 : 344-游戏失败页面的制作
09:54
课时 63 : 345-游戏胜利页面的制作
06:54
课时 64 : 346-奖励页面的制作
07:18
课时 65 : 347-奖励页面的动画制作与StartUI的说明
07:07
课时 66 : 348-StartUI的制作
08:23
课时 67 : 349-StartUI动画的制作与完善
07:19
课时 68 : 350-怪物窝面板的雏形
07:50
课时 69 : 351-关于ScrollView数值设计的说明
06:41
课时 70 : 352-了解游戏数值策划师的工种
05:54
课时 71 : 353-ContentUI公式的抽象讲解
13:04
课时 72 : 354-翻书效果的实现思路
06:53
课时 73 : 355-使用比例方法实现需要梳理的思路
09:03
课时 74 : 356-滑动多个单元格的思路
11:04
课时 75 : 357-SlideCanCoverScrollView的成员变量
07:06
课时 76 : 358-SlideCanCoverScrollView成员变量的赋值
07:06
课时 77 : 359-开始滑动与结束滑动的接口
07:51
课时 78 : 360-执行滑动动作的先决条件与鼠标坐标的处理细节
09:05
课时 79 : 361-结束右滑的处理
08:17
课时 80 : 362-滚动浮贴效果的实现
09:33
课时 81 : 363-使用改变局部坐标的方法实现脚本的成员变量
06:31
课时 82 : 364-SlideScrollView脚本的编写
10:02
课时 83 : 365-SlideScrollView脚本的测试
08:52
课时 84 : 366-翻书功能的抖动bug修复
04:19
课时 85 : 367-商店的制作
07:06
课时 86 : 368-商店的完善与怪物组的创建
06:33
课时 87 : 369-怪物的蛋形态
06:56
课时 88 : 370-怪物的Baby形态
06:20
课时 89 : 371-宠物预制体的完善
07:00
课时 90 : 372-心脏跳动动画的制作
07:14
课时 91 : 373-重置游戏的提示页面
11:03
课时 92 : 374-本章学习的简单回顾与总结
03:19
第4章: 常用设计模式的学习与在项目中的应用
课时 93 : 401-脚本文件夹的创建与多场景开发方式的说明
07:32
课时 94 : 402-关于本章学习的形式与游戏管理的存在模式
06:55
课时 95 : 403-实验:探究两种单例模式的实现方式-饿汉式与懒汉式
08:00
课时 96 : 404-单例模板的介绍和使用
06:24
课时 97 : 405-关于项目中不使用多个单例的说明
05:29
课时 98 : 406-构建管理者体系
08:09
课时 99 : 407-GameManager脚本的编写
08:13
课时 100 : 408-制作UI面板切换的思路与知识准备
05:38
课时 101 : 409-实验:探究面向接口编程IOP的简单使用
06:41
课时 102 : 410-两个英雄体现的多态
10:02
课时 103 : 411-使用new关键字去重写接口方法
06:41
课时 104 : 412-是否需要定义基类与new和virtual的实现区别
07:57
课时 105 : 413-使用状态模式的情况
07:48
课时 106 : 414-吃睡干案例
10:27
课时 107 : 415-状态模式的测试
08:29
课时 108 : 416-创建场景状态的接口与基类
08:23
课时 109 : 417-具体场景状态类的创建
05:19
课时 110 : 418-使用工厂模式的原因
09:02
课时 111 : 419-IPhone工厂案例-简单工厂模式的实现
08:49
课时 112 : 420-抽象工厂模式的实现
07:29
课时 113 : 421-实验:探究对象池技术
06:50
课时 114 : 422-对象池技术的实现
09:26
课时 115 : 423-对象池技能思路梳理及测试
07:31
课时 116 : 424-项目中工厂模式与对象池的处理说明
05:07
课时 117 : 425-工厂有关脚本的创建
04:37
课时 118 : 426-工厂接口的定义与工厂类型的划分
09:09
课时 119 : 427-修改工厂部分的UML图
06:22
课时 120 : 428-游戏物体工厂基类的两个重要字典
07:09
课时 121 : 429-路径与放入池子的方法
07:07
课时 122 : 430-取实例的方法
05:31
课时 123 : 431-取资源方法的编写
08:30
课时 124 : 432-游戏工厂基类的完善与子类的编写
07:12
课时 125 : 433-AudioClip工厂的脚本编写
06:39
课时 126 : 434-其他两种资源工厂的脚本编写
06:19
课时 127 : 435-UIManager的初步编写
06:36
课时 128 : 436-什么是外观模式
04:25
课时 129 : 437-学校总结案例
07:40
课时 130 : 438-什么是中介者模式
09:17
课时 131 : 439-相亲案例
09:51
课时 132 : 440-媒婆的介入
10:26
课时 133 : 441-工厂管理成员变量的编写
06:16
课时 134 : 442-AudioSourceManager的成员变量
07:33
课时 135 : 443-控制音乐播放停止的方法
07:04
课时 136 : 444-所有UI面板的创建
08:17
课时 137 : 445-UI面板基类与面板接口
06:13
课时 138 : 446-UIFacade成员变量的定义
08:00
课时 139 : 447-UIFacade的构造方法与遮罩制作
06:51
课时 140 : 448-获取资源方法封装的说明
06:36
课时 141 : 449-GameManager获取资源的方法
06:56
课时 142 : 450-UIFacade中获取资源方法的封装
06:02
课时 143 : 451-UI实例化需要注意的问题
07:05
课时 144 : 452-UI实例化方法与添加UIPanel到UI管理字典的方法
07:07
课时 145 : 453-实例化UI面板并存储到中介字典的方法
06:58
课时 146 : 454-清空字典的方法
06:38
课时 147 : 455-清空字典方法的完善
04:25
课时 148 : 456-改变场景状态的方法
06:05
课时 149 : 457-UIFacade的编写完善
07:45
第5章: UIPanel功能的实现
课时 150 : 501-场景状态基类脚本的编写
04:23
课时 151 : 502-开始加载游戏的场景状态
08:43
课时 152 : 503-StringManager脚本的编写
04:49
课时 153 : 504-开始游戏加载面板的脚本开发
06:54
课时 154 : 505-面板实例化过程测试
06:39
课时 155 : 506-克隆体名称问题与字符串截取
08:13
课时 156 : 507-使用代码设置UI渲染顺序
06:01
课时 157 : 508-Main场景状态脚本编写
06:39
课时 158 : 509-Main场景状态脚本的完善
07:00
课时 159 : 510-主面板成员变量赋值与左右移动动画
10:12
课时 160 : 511-主界面的UI动画编写
06:21
课时 161 : 512-场景状态切换的方法
06:11
课时 162 : 513-MainPanel的开发完善
06:37
课时 163 : 514-SetPanel的成员变量
09:18
课时 164 : 515-SetPanel成员变量的获取与初始化方法
07:20
课时 165 : 516-页面显示与面板的进入退出
05:49
课时 166 : 517-音乐处理的方法
07:38
课时 167 : 518-数据显示方法
06:32
课时 168 : 519-玩家数据存贮管理
06:27
课时 169 : 520-SetPanel的开发完善
05:56
课时 170 : 521-HelpPanel的成员变量
06:23
课时 171 : 522-HelpPanel页面切换的方法与成员变量的获取
06:42
课时 172 : 523-初始化面板的方法
07:59
课时 173 : 524-初始化两个ScrollView的方法
08:27
课时 174 : 525-帮助面板的进入方法与退出方法
07:32
课时 175 : 526-游戏中加载面板的开发
06:31
课时 176 : 527-DoTween回调函数的报错类型
06:17
课时 177 : 528-解决滚动视图的报空问题
06:53
课时 178 : 529-解决UI不交互问题
08:01
课时 179 : 530-主面板动画事件注册与页数显示
08:27
课时 180 : 531-处理页面显示方法报错的问题
07:24
课时 181 : 532-游戏选择场景状态的处理
06:51
课时 182 : 533-关卡选择的共用面板
07:31
课时 183 : 534-大关卡选择页面的成员变量
07:45
课时 184 : 535-探究Inspector,Awake,OnEnable与Start之间微妙的关系
08:18
课时 185 : 536-探究脚本对象与游戏物体对象的失活和激活
09:01
课时 186 : 537-Stage类的成员变量信息
08:04
课时 187 : 538-Stage类的构造方法与PlayerManager里的列表信息存储
06:52
课时 188 : 539-按钮实现翻页方法的封装
07:43
课时 189 : 540-大关卡选择面板的Awake方法
08:08
课时 190 : 541-显示大关卡信息方法的编写
06:42
课时 191 : 542-大关卡按钮事件的注册
09:47
课时 192 : 543-调用显示大关卡信息的方法与防止按钮事件的多次注册
08:05
课时 193 : 544-小关卡选择页面的成员变量定义
10:35
课时 194 : 545-小关卡选择页面成员变量的获取
08:37
课时 195 : 546-资源加载的方法
08:46
课时 196 : 547-静态UI与动态UI
08:32
课时 197 : 548-动态加载地图卡片UI的游戏物体
09:21
课时 198 : 549-处理未解锁普通关卡的地图卡显示
08:46
课时 199 : 550-处理未解锁奖励关卡的地图显示
08:13
课时 200 : 551-已解锁关卡的地图卡显示
07:19
课时 201 : 552-设置Content的大小与动态UI更新方法的完善
10:05
课时 202 : 553-销毁地图卡的方法
07:44
课时 203 : 554-更新静态UI的方法
11:18
课时 204 : 555-清除建塔列表里的塔图标
05:37
课时 205 : 556-处理面板的方法
07:14
课时 206 : 557-进入游戏场景的方法与stage信息的传递
08:38
课时 207 : 558-ScrollView的最终完善与小关卡选择面板脚本的完善
10:03
课时 208 : 559-处理面板的按钮方法注册与脚本挂载
06:21
课时 209 : 560-helpPanel脚本的后续处理
07:03
课时 210 : 561-提供PlayerManager的构造方法用于测试
07:49
课时 211 : 562-工程测试与Bug修复
09:04
第6章: 编图工具制作与怪物的功能实现
课时 212 : 601-冒险模式的场景状态
10:10
课时 213 : 602-创建GameController游戏物体
10:36
课时 214 : 603-地图与格子宽高的获取
12:14
课时 215 : 604-画格子的方法
06:03
课时 216 : 605-行列画法的实现
07:48
课时 217 : 606-画线方法的完善与格子预制体
08:10
课时 218 : 607-生成格子游戏物体
07:23
课时 219 : 608-纠正位置的方法与格子点脚本
06:50
课时 220 : 609-实验:探究鼠标事件检测的接口与API
08:38
课时 221 : 610-探究如何去检测鼠标事件来实现多分支需求
10:53
课时 222 : 611-探究:简单Json的读取与存储
05:52
课时 223 : 612-将信息存贮为Json文件的方法
07:18
课时 224 : 613-Json文件的读取方法
10:11
课时 225 : 614-复杂Json信息的读取
07:36
课时 226 : 615-复杂Json信息的存贮与读取
07:23
课时 227 : 616-格子状态与索引结构体
09:18
课时 228 : 617-道具预制体的制作
10:04
课时 229 : 618-图片资源与道具资源的获取
08:46
课时 230 : 619-怪物路点的处理
07:44
课时 231 : 620-怪物路点的添加方法
07:25
课时 232 : 621-道具的产生
07:52
课时 233 : 622-工具编辑显示与信息修改的完成
09:20
课时 234 : 623-拓展MapMaker类的功能
08:45
课时 235 : 624-MapTool编辑器类的创建
08:29
课时 236 : 625-读取关卡列表的方法
08:02
课时 237 : 626-工具类方法定义的完善
08:23
课时 238 : 627-MapMaker初始化方法的完善
10:36
课时 239 : 628-初始化地图与恢复编辑器默认状态的方法
06:32
课时 240 : 629-创建Json信息存储类LevelInfo
08:51
课时 241 : 630-存贮关卡信息类的方法
06:27
课时 242 : 631-读取关卡文件信息的方法
09:40
课时 243 : 632-读取文件信息的完善与格子更新方法
08:06
课时 244 : 633-工具类的完成
05:44
课时 245 : 634-数组元素赋值报空
09:36
课时 246 : 635-Json信息的二维数组存贮与读取方法
10:23
课时 247 : 636-地图工具制作的完善
11:23
课时 248 : 637-实验:责任链模式的使用探究
11:44
课时 249 : 638-土味情话撩小姐姐(上)
08:57
课时 250 : 639-土味情话撩小姐姐(下)
10:42
课时 251 : 640-Level类的创建
07:28
课时 252 : 641-Round脚本的完善
07:21
课时 253 : 642-Level脚本的完善
08:04
课时 254 : 643-宏定义的使用方式与作用
06:58
课时 255 : 644-用Tool宏标记MapMaker里的方法与成员变量
06:00
课时 256 : 645-用Tool宏标记GridPoint里的方法与成员变量
08:25
课时 257 : 646-GameController获取资源方法的封装
08:42
课时 258 : 647-怪物起点预制体的制作
07:25
课时 259 : 648-萝卜预制体的制作
07:10
课时 260 : 649-怪物路径坐标点列表
07:59
课时 261 : 650-GameController的Awake方法
09:47
课时 262 : 651-更新格子与道具创建
06:52
课时 263 : 652-创建道具方法的完善
08:56
课时 264 : 653-风车房动画的制作
10:30
课时 265 : 654-仙人掌动画制作
10:37
课时 266 : 655-地图加载测试
08:34
课时 267 : 656-产怪特效预制体的制作
09:00
课时 268 : 657-建造者模式与备忘录模式
08:51
课时 269 : 658-建造者接口与怪物建造者
07:44
课时 270 : 659-建造者获取产品的方法
07:48
课时 271 : 660-建造者获取数据的方法
10:10
课时 272 : 661-GameController成员变量的完善
11:53
课时 273 : 662-产怪方法
07:04
课时 274 : 663-建造者获取怪物ID的思路
06:31
课时 275 : 664-生成怪物方法的完善
09:12
课时 276 : 665-增加回合数与传递责任链的方法
09:09
课时 277 : 666-产怪逻辑的思路梳理
08:58
课时 278 : 667-GameController的Update方法
05:09
课时 279 : 668-怪物包的制作与使用说明
07:32
课时 280 : 669-Monster成员变量的定义与说明
06:58
课时 281 : 670-怪物血条的制作
09:46
课时 282 : 671-怪物的Update方法
09:09
课时 283 : 672-怪物移动方法的说明讲解
08:40
课时 284 : 673-怪物寻路的实现
07:21
课时 285 : 674-怪物的转向
07:21
课时 286 : 675-怪物血条的处理
06:44
课时 287 : 676-怪物的初始化方法
06:29
课时 288 : 677-怪物受伤害的方法与销毁方法
06:58
课时 289 : 678-特效预制体包与特效脚本
08:54
课时 290 : 679-金币奖励UI的制作
08:24
课时 291 : 680-金币脚本的编写
10:35
课时 292 : 681-金币移动方法的完善
09:21
课时 293 : 682-怪物死亡测试
03:33
第7章: 游戏主逻辑的实现
课时 294 : 701-格子进场动画的代码实现
08:40
课时 295 : 702-格子进场动画的测试与完善
07:27
课时 296 : 703-有关格子处理的三个方法
08:26
课时 297 : 704-不能建塔格子的显示处理
09:07
课时 298 : 705-格子逻辑完善测试与修复
11:13
课时 299 : 706-建塔列表的制作
07:51
课时 300 : 707-有塔之后的操作按钮
07:13
课时 301 : 708-建塔按钮脚本的创建
08:03
课时 302 : 709-建塔按钮的实例化与建塔价格表
06:54
课时 303 : 710-显示画布与建塔列表
07:06
课时 304 : 711-建塔列表的显示测试
06:44
课时 305 : 712-纠正建塔列表位置的方法
07:18
课时 306 : 713-纠正升级销售按钮的位置
09:40
课时 307 : 714-纠正位置方法的完善
09:51
课时 308 : 715-操作画布位置的测试与建塔按钮脚本的成员变量
10:30
课时 309 : 716-塔的建造者与更新按钮图标的方法
08:46
课时 310 : 717-建塔的方法
10:51
课时 311 : 718-塔的建造者脚本完善
09:54
课时 312 : 719-建塔测试与bug修复
07:42
课时 313 : 720-塔,子弹,攻击特效预制体说明
07:01
课时 314 : 721-特效脚本与塔特异性脚本的挂载
05:57
课时 315 : 722-塔的初始化方法
07:35
课时 316 : 723-集火信号的制作与集火目标的存贮
08:20
课时 317 : 724-锁定集火目标的方法
07:53
课时 318 : 725-利用Mask去拦截鼠标与格子的交互
06:00
课时 319 : 726-道具包的制作说明与使用
06:34
课时 320 : 727-炮塔的搜索目标逻辑(上)
07:19
课时 321 : 728-搜索进入怪物的逻辑
10:20
课时 322 : 729-搜索滞留怪物的逻辑
06:47
课时 323 : 730-怪物离开逻辑的方法的编写
09:00
课时 324 : 731-塔搜索方法的代码完善
06:38
课时 325 : 732-Tower脚本的完善
07:57
课时 326 : 733-塔的特异性属性脚本的成员变量与获取
08:43
课时 327 : 734-塔的销售方法与升级方法
07:24
课时 328 : 735-塔的特异性属性设置
07:17
课时 329 : 736-塔身旋转方法
08:44
课时 330 : 737-解决随机产生的旋转bug问题
08:49
课时 331 : 738-修复看向物品的bug
08:29
课时 332 : 739-子弹的销毁与特效的产生
09:47
课时 333 : 740-子弹触发检测逻辑的完善
08:23
课时 334 : 741-子弹脚本的完善
08:01
课时 335 : 742-创建升级按钮与销售按钮脚本
06:49
课时 336 : 743-升级塔按钮脚本的成员变量赋值
07:43
课时 337 : 744-GridPoint格子点有塔之后的处理方法与成员变量
07:48
课时 338 : 745-升级按钮的升级方法完善
07:48
课时 339 : 746-升级按钮脚本的完善
06:09
课时 340 : 747-升级信号的制作与处理
07:39
课时 341 : 748-格子脚本的完善
08:06
课时 342 : 749-塔的升级与攻击范围显示的测试
06:27
课时 343 : 750-卖塔按钮脚本的编写
07:26
课时 344 : 751-道具脚本的编写
07:34
课时 345 : 752-道具的初始化方法
06:22
课时 346 : 753-道具承受伤害的方法
06:43
课时 347 : 754-道具脚本的完善与测试
05:21
课时 348 : 755-萝卜的idle动画与touch动画
09:01
课时 349 : 756-萝卜的成员变量与赋值
07:19
课时 350 : 757-萝卜UI更新的方法
07:43
课时 351 : 758-萝卜动画的细节处理
05:34
课时 352 : 759-便便塔的实现脚本
07:18
课时 353 : 760-便便子弹的脚本编写
08:18
课时 354 : 761-便便子弹的减益效果
08:27
课时 355 : 762-便便减益BUFF的测试与修复
09:34
课时 356 : 763-星星塔的制作与子弹范围伤害效果
10:06
课时 357 : 764-刚体休眠与解除
06:05
课时 358 : 765-风车子弹的脚本编写
09:39
课时 359 : 766-修复风车塔移动方向的bug
04:34
课时 360 : 767-水晶塔的制作思路
08:26
课时 361 : 768-电击子弹的产生与长宽的获取
08:58
课时 362 : 769-水晶塔脚本的完善
09:23
课时 363 : 770-电击脚本的完善
08:22
课时 364 : 771-调整电击产生的位置
07:26
课时 365 : 772-修复电击子弹移动跟随的bug
02:16
第8章: 游戏的完善与怪物窝的制作
课时 366 : 801-游戏场景UI面板
07:14
课时 367 : 802-FinalWave的制作
09:51
课时 368 : 803-游戏场景UI面板的成员变量赋值
08:57
课时 369 : 804-开始游戏的方法
06:41
课时 370 : 805-页面与UI的显示隐藏方法
06:36
课时 371 : 806-与关卡处理的有关方法
11:43
课时 372 : 807-选择其他关卡的方法
04:56
课时 373 : 808-判断道具是否全部清除的方法
08:21
课时 374 : 809-萝卜状态的获取
06:28
课时 375 : 810-游戏胜利页面的关卡解锁与徽章奖励处理
07:21
课时 376 : 811-顶部UI显示页面的成员变量
08:51
课时 377 : 812-顶部UI成员变量的获取
07:25
课时 378 : 813-顶部UI页面的OnEnable方法
07:08
课时 379 : 814-游戏暂停正常状态与一二倍速的处理
08:02
课时 380 : 815-菜单页面与游戏失败页面
07:54
课时 381 : 816-游戏胜利页面的脚本编写
08:37
课时 382 : 817-奖励页面的成员变量定义与获取
07:05
课时 383 : 818-奖励页面的脚本讲解
08:10
课时 384 : 819-奖品掉落与奖励处理
08:06
课时 385 : 820-Memento的存贮方法
09:40
课时 386 : 821-Memento的读取方法
06:41
课时 387 : 822-玩家初始数据的Json文件制作
06:43
课时 388 : 823-Json信息的强制解析
12:16
课时 389 : 824-游戏重置方法的编写
06:27
课时 390 : 825-修复关卡选择页面的bug
05:45
课时 391 : 826-完善场景状态的转换
05:19
课时 392 : 827-解决GameController的报空问题
06:33
课时 393 : 828-修复提前产怪bug与游戏失败窗口的弹出
07:26
课时 394 : 829-游戏胜利窗口的弹出与最后一波怪的UI显示
06:35
课时 395 : 830-游戏运行逻辑的修复与礼物的交互
06:45
课时 396 : 831-怪物窝面板的成员变量与赋值讲解
06:39
课时 397 : 832-怪物窝面板的脚本讲解
07:34
课时 398 : 833-宠物的初始化方法讲解
09:32
课时 399 : 834-宠物不同状态的显示方法
08:01
课时 400 : 835-宠物点击事件方法的讲解
06:09
课时 401 : 836-怪物窝按钮监听事件的注册
05:09
课时 402 : 837-怪物窝测试
06:11
课时 403 : 838-玩家游戏初始状态的Json文件制作
06:11
课时 404 : 839-心脏特效脚本的开发
06:55
课时 405 : 840-音效播放方法的封装
08:40
课时 406 : 841-第一个场景按钮音效播放方法的调用
06:15
课时 407 : 842-主场景音效添加完成
06:36
课时 408 : 843-冒险模式关卡选择场景的音效添加
04:51
课时 409 : 844-冒险模式游戏场景UI音效的添加
09:13
课时 410 : 845-游戏场景UI音效添加的完善
08:33
课时 411 : 846-萝卜,集火目标与怪物产生音效的添加
07:00
课时 412 : 847-怪物有关音效的添加
08:18
课时 413 : 848-塔声效的添加
07:34
课时 414 : 849-音效添加的完成
11:01
课时 415 : 850-项目的打包
07:50
课时 416 : 851-Json文件位置的移动与文件路径的修改
11:49
课时 417 : 852-GameController赋值注意的修改说明与水晶塔bug修复
08:09
课时 418 : 853-萝卜徽章的更新
07:54
课时 419 : 854-最后bug的修复
07:12
课时 420 : 855-项目的完整测试
06:02
课时 421 : 856-Last But Not Least
09:29