Unity3D 制作《类王者荣耀》爆款手游系列课程

来自锐亚教育知识库
跳到导航 跳到搜索

目录

1 新手快速入门

1.1 游戏的组成元素

1.1.1 游戏模块组成

1.1.2 介绍各个模块的功能

1.2 10分钟搭建游戏客户端

1.2.1 游戏资源介绍

1.2.1.1 初始场景加载与显示
1.2.1.2 资源的加载与更新
1.2.2 场景模块的组装

1.2.2.1 场景的构建

1.2.2.2 本地游戏启动

2 游戏数据初始化

2.1 窗口初始化

2.1.1 主场景中窗口预加载

2.1.2 登录窗口的显示

2.2 状态初始化

2.2.1 游戏状态机

2.2.2 默认进入登录状态

2.2.3 状态更新

2.3 配置文件初始化

2.3.1 配置文件的加载

2.3.1.1 技能配置文件
2.3.1.2 英雄配置文件
2.3.1.3 地图配置文件
2.3.1.4 Npc配置文件
2.3.1.5 其他配置文件

2.3.2 敏感词过滤

2.4 网络模块初始化

2.4.1 IP与端口设置

2.4.2 网络连接管理

2.5 地图导航初始化

3 登录模块

3.1 登录状态(LoginState)

3.1.1 转换到登录状态

3.1.2 登录状态停留

3.1.3 背景音乐的创建与播放

3.1.4 监听游戏事件

3.1.4.1 监听用户输入
3.1.4.2 监听登录事件
3.1.4.3 监听玩家掉线

3.2 登录界面(LoginWindow)

3.2.1 登录界面显示与初始化

3.2.2 游戏事件响应

3.2.2.1 登录失败反馈
3.2.2.2 登录成功反馈
3.2.2.3 选择服务器
3.2.2.4 显示服务器

3.2.3 UI事件响应

3.2.3.1 开始游戏
3.2.3.2 选择战场
3.2.3.3 切换账号
3.2.3.4 重新登录

3.3 功能逻辑实现(LoginCtrl)

3.3.1 广播登录事件

3.3.2 广播退出事件

3.3.3 连接登录服务器

3.3.4 广播登录成功

3.3.5 广播登录失败

3.3.6 服务器选择

4 游戏大厅

4.1 大厅状态(LobbyState)

4.1.1 转换到大厅状态

4.1.2 大厅状态停留

4.1.3 监听游戏事件

4.1.3.1 创建房间(暂无)

4.1.3.2 转换英雄选择状态

4.1.3.3 转换加载状态

4.1.3.4 邀请朋友

4.1.3.5 邀请进入房间

4.1.3.6 快速战斗

4.2 大厅界面(LobbyWindow)

4.2.1 大厅界面显示与初始化

4.2.2 UI事件响应

4.2.2.1 主页切换
4.2.2.2 显示战斗界面
4.2.2.3 显示商店界面
4.2.2.4 显示社交界面

4.3 功能逻辑(HomePageCtrl)

4.3.1 功能界面切换

4.3.2 申请快速战斗

4.3.3 匹配战斗

4.3.4 签到系统(暂无)

4.3.5 游戏充值(暂无)

4.3.6 游戏自定义(暂无)

4.3.7 新手训练(暂无)

4.3.8 商城(暂无)

4.3.8.1 英雄
4.3.8.2 符文

4.3.9 社交(暂无)=

4.3.9.1 添加好友
4.3.9.2 删除好友
4.3.9.3 移至黑名单
4.3.9.4 发送消息
4.3.9.5 黑名单

5 匹配模块

5.1 匹配状态(LobbyState)

5.2 匹配界面(TeamMatchWindow)

5.1.1 匹配界面显示与初始化

5.1.2 游戏事件注册(暂无)

5.1.2.1 添加队友(暂无)
5.1.2.2 删除队友(暂无)
5.1.2.3 添加朋友(暂无)
5.1.2.4 删除朋友(暂无)
5.1.2.5 在线状态(暂无)

5.2 功能逻辑(TeamMatchCtrl)

5.2.1.1 申请匹配
5.2.1.2 取消匹配
5.2.1.3 退出队伍

6 英雄选择模块的制作

6.1 选择英雄状态(HeroState)

6.1.1 转换到选择英雄状态

6.1.2 监听游戏事件

6.1.2.1 转换加载状态

6.1.2.2 连接服务器失败

6.1.2.3 玩家断线

6.2 选择界面(HeroWindow)

6.2.1 选择界面显示与初始化

6.2.2 游戏事件注册

6.2.2.1 更新游戏选择列表

6.2.2.2 英雄选择

6.2.2.3 预选英雄显示

6.2.2.4 随机选择英雄

6.2.2.5 预选英雄描述

6.3 功能逻辑(HeroCtrl)

6.3.1 战友位置信息处理

6.3.2 战斗基本信息处理

6.3.3 选择英雄列表更新

6.3.4 预选择英雄

6.3.5 确定选择英雄

6.3.6 英雄选择倒计时

6.3.7 符文选择倒计时

6.3.8 加载界面

6.3.9 战斗状态转换

7 战斗场景

7.1 战斗场景初始化

7.1.1 窗口显示与初始化

7.1.1.1 GamePlayWindow 游戏窗口
7.1.1.1.1 游戏记录设置与更新
7.1.1.1.2 英雄信息设置与更新
7.1.1.1.3 战斗信息设置与更新
7.1.1.1.4 英雄回城
7.1.1.1.5 遥感控制英雄移动
7.1.1.2 MiniMapWindow 小地图窗口
7.1.1.2.1 地图窗口加载
7.1.1.2.2 更新地图元素
7.1.1.2.3 删除地图元素
7.1.1.3 SkillWindow 技能窗口
7.1.1.3.1 技能攻击
7.1.1.3.2 普通攻击
7.1.1.3.3 自动锁定目标
7.1.1.3.4 自动攻击
7.1.1.3.5 吸附野怪

7.1.2 游戏实体初始化

7.1.2.1 Building的创建与初始化
7.1.2.2 Player的创建与初始化
7.1.2.3 Npc的创建与初始化

7.2 英雄状态机原理与实现

7.2.1.1 EntityFreeFSM 实体闲置状态

7.2.1.2 PlayerAdMoveFSM 玩家先行移动状态

7.2.1.3 EntityRunFSM 实体移动状态

7.2.1.4 EntityReleaseSkillFSM 实体前遥状态

7.2.1.5 EntityLastingFSM 实体后摇状态

7.2.1.6 EntityLeadingFSM 实体技能结束状态

7.2.1.7 EntitySingFSM 实体施法吟诵状态

7.2.1.8 EntityForceMoveFSM 实体强制移动状态

7.2.1.9 EntityDeadFSM 实体死亡状态

7.2.1.10 EntityReliveFSM 实体重生状态

7.3 消息驱动

8 游戏结算模块

8.1 游戏结束

8.1.1 结束状态(OverState)

8.1.2 结算统计

8.1.2.1 结算界面显示

8.1.2.2 游戏奖励

8.1.2.3 自动回到房间

8.1.3 功能逻辑

8.1.3.1 请求回到房间

8.1.3.2 重回游戏大厅

8.1.3.3 加载

8.2 游戏打包

9 消息机制

9.1. 委托与事件

9.1.1. 委托概念

9.1.2. 事件概念

9.2. 消息机制

9.2.1. 事件定义

9.2.1.1.

9.2.2. 消息事件管理中心

9.2.2.1. 事件的注册
9.2.2.2. 事件的广播
9.2.2.3. 事件的注销

9.2.3. 消息类型定义

9.2.4. 使用范例

10. 网络基础与通信协议

10.1. 网络基础

10.1.1. 网络概念

10.1.2. 通信基础

10.1.3. 通信流程

10.1.4. 实例讲解

10.2. 协议简介

10.2.1. ProtoBuf的概念

10.2.2. ProtoBuf的使用

10.2.3. 协议封装

11. 状态机

11.1. 游戏状态管理器

11.1.1. 状态模式

11.1.2. 状态定义

11.1.3. 状态管理器

11.1.4. 状态类分析

11.2. 英雄状态管理器

11.2.1. 实体状态机

11.2.2. 状态切换

11.2.3. 状态类分析

12. UI控制机制

12.1.1. 窗口管理器

12.1.1.1. 窗口初始化

12.1.1.2. 场景窗口切换

12.1.1.3. 窗口显示与隐藏

12.1.2. 窗口类分析

12.1.2.1. 窗口创建与显示
12.1.2.2. 窗口控件初始化
12.1.2.3. 游戏事件注册
12.1.2.4. UI事件响应
12.1.2.5. 游戏事件响应

12.1.3. 项目示例

13 Entity机制

13.1 实体管理器

13.2 实体类描述

13.3 玩家类描述

13.4 本地玩家描述

14 资源加载与管理

14.1 资源管理

14.1.1 场景加载

14.1.2 单个资源加载

14.2 加载配置文件

14.2.1 技能配置文件

14.2.2 NPC配置文件

14.2.3 英雄配置文件