章快速开始1
1.1Unity软件的下载与安装2
1.1.1Unity软件的下载2
1.1.2Unity软件的安装2
1.2Thanos游戏开发框架的下载与安装3
1.2.1Thanos游戏开发框架的下载3
1.2.2Thanos游戏开发框架的安装4
1.3NGUI组件的下载与安装4
1.4本书配套资源的下载5
第2章游戏UI界面搭建7
2.1NGUI插件详解8
2.1.1UI Root的概念8
2.1.2UI Lable的概念9
2.1.3UI Sprite的概念9
2.1.4UI Panel的概念10
2.1.5UI Button的概念11
2.1.6UI Grid的概念12
2.1.7UI Scroll View的概念12
2.2游戏UI界面搭建13
2.2.1游戏登录界面UI搭建13
2.2.2游戏战队匹配UI界面19
第3章游戏局外主要逻辑开发实现23
3.1游戏登录模块的开发24
3.1.1事件定义25
3.1.2事件注册25
3.1.3事件广播26
3.1.4使用范例26
3.2游戏网络通信开发28
3.2.1设置服务器信息28
3.2.2网络信息处理29
3.2.3消息序列化与反序列化29
3.3登录逻辑实现34
3.3.1基础知识34
3.3.2完善登录逻辑38
3.4匹配逻辑实现45
3.4.1Time类基础知识45
3.4.2完善匹配逻辑47
3.5英雄选择逻辑实现50
3.5.1基础知识50
3.5.2完善英雄选择54
第4章战斗场景逻辑开发63
4.1场景元素生成64
4.1.1地形生成64
4.1.2英雄生成70
4.2玩家控制74
4.2.1虚拟摇杆的使用74
4.2.2英雄移动状态76
4.2.3英雄自由状态80
4.2.4技能控制82
4.2.5血条处理89
4.2.6死亡处理94
第5章Thanos游戏框架消息机制99
5.1游戏框架介绍100
5.2委托与事件101
5.2.1委托的概念101
5.2.2事件的概念102
5.3消息机制104
5.3.1添加监听器(AddListener)104
5.3.2派发事件(BroadCast)106
5.3.3移除监听器(RemoveListener)106
5.3.4事件类型定义(EGameEvent)107
5.3.5事件处理器108
5.3.6使用范例109
第6章网络基础与协议简介111
6.1网络基础112
6.1.1网络模型112
6.1.2TCP/IP模型115
6.1.3Socket套接字115
6.1.4TCP通信118
6.2网络层框架120
6.2.1网络管理器120
6.2.2网络初始化120
6.3通信协议126
6.3.1通信协议概念126
6.3.2消息处理中心127
6.3.3消息发送130
6.4序列化悍将——Protocol Buffer132
6.4.1ProtoBuf的概念132
6.4.2ProtoBuf-net的下载与使用132
6.4.3数据转换133
6.4.4序列化结构数据134
第7章Node.js开发环境搭建与通用游戏服务器介绍137
7.1Node.js服务器开发环境搭建138
7.1.1Node.js介绍138
7.1.2软件安装与资源下载140
7.1.3Node.js环境搭建141
7.2通用游戏服务器介绍144
7.2.1游戏服务器的定义144
7.2.2游戏服务器的作用145
7.2.3游戏服务器的架构145
第8章5分钟编写功能强大的游戏服务器151
8.1自动化生成服务器152
8.1.1创建serverframework.ts文件152
8.1.2编写生成器152
8.1.3远程安装Thanos游戏开发框架模块156
8.1.4匹配工具目录路径157
8.1.5指定程序入口函数157
8.1.6生成框架文件158
8.1.7测试服务器158
8.2穿透服务与网络壁垒159
8.2.1TCP服务159
8.2.2Socket套接字162
8.2.3TCP服务网络模型162
8.3解析服务器框架功能165
8.3.1server模块165
8.3.2client模块168
8.3.3MySQL模块170
8.3.4logger模块173
8.3.5const模块176
8.3.6utils模块177
8.3.7action模块178
第9章 Thanos服务器框架说明179
9.1核心概念180
9.1.1Thanos服务框架 180
9.1.2实时数据通信 180
9.1.3消息处理机制180
9.2TypeScript常用语法180
9.2.1Export与Import181
9.2.2Map181
9.2.3async与await183
9.3服务器端功能实现186
0章实现服务器的连接189
10.1发送消息190
10.2事件触发器190
1章 MySQL数据库在游戏中的应用193
11.1体验MySQL数据库194
11.1.1MySQL数据库发展史194
11.1.2MySQL的下载194
11.1.3MySQL的安装195
11.2SQL结构化查询语言基础用法198
11.3MySQL游戏数据库设计200
11.3.1创建数据库201
11.3.2框架对数据库的支持202
2章Node.js环境中XML配置文件的处理205
12.1XML语言简介与MOBA游戏配置模板206
12.2读取单个XML文件207
12.3批量结构化XML文件工具的使用208
12.3.1不结构化数据的弊端208
12.3.2自动化的优势208
12.3.3自动化生成TS结构化数据文件208
12.4结构化数据的调用方法215
12.4.1加载配置数据215
12.4.2获取静态数据216
3章 Protocol Buffer协议在游戏场景中的应用217
13.1Protocol Buffer原理介绍218
13.1.1ProtoBuf消息定义218
13.1.2协议格式制定218
13.2《王者荣耀》通信协议概览221
13.2.1Protocol Buffer协议源文件221
13.2.2客户端编译222
13.2.3客户端编译数据222
13.2.4序列化结构数据223
13.3使用Thanos服务器框架调试消息223
13.4服务器端编译225
13.5批量处理协议的命令行文件编写229
13.6生成PB文件完整批处理脚本232
13.7实例讲解234
13.7.1模拟客户端234
13.7.2服务器消息接收236
4章账户验证模块237
14.1登录模块238
14.1.1接收请求238
14.1.2应答请求238
14.2登录成功验证239
14.3账号合法性验证240
5章游戏匹配机制243
15.1随机数的产生245
15.2二分算法245
15.3数据容错处理246
6章游戏节奏的控制与AI算法249
16.1制作JavaScript定时器251
16.1.1JavaScript定时器工作原理251
16.1.2设计定时器256
16.1.3在游戏中应用定时器256
16.2A*寻路算法257
16.2.1A*算法基本原理258
16.2.2A*寻路算法代码实现265
16.3AI行为树273
16.3.1行为树简介273
16.3.2行为树基本原理273
16.3.3行为节点274
16.3.4控制节点274
16.3.5选择节点276
16.3.6实例演示276
16.4技能模块279
16.4.1技能处理279
16.4.2技能程序框架280