目录
第 1章 Unity脚本的基础认知 1
学习目标 1
学习导航 1
知识框架 1
1.1 为什么要学习Unity脚本语言 2
1.2 开发环境的搭建 2
1.2.1 Unity的下载 2
1.2.2 Unity的安装和激活 4
1.2.3 Unity基本概念及界面简介 7
1.2.4 脚本编辑器简介 13
1.3 初识Unity脚本 15
1.3.1 编程语言的选择 15
1.3.2 Unity C#脚本的创建和使用 15
1.3.3 Unity C#脚本的基本语法结构 23
1.3.4 程序代码中的注释 23
1.3.5 程序的基本运行顺序 24
1.3.6 语法错误 26
1.4 Unity C#脚本的输入和输出 29
1.4.1 动手环节 29
1.4.2 Unity C#脚本输入和输出的概念 32
1.4.3 以组件的属性作为输入 32
1.4.4 利用print语句输出 32
1.5 本章小结 33
1.6 习题 33
第 2章 脚本语句的基本元素 35
学习目标 35
学习导航 35
知识框架 35
准备工作 36
2.1 变量和数据类型 37
2.1.1 变量的概念 37
2.1.2 数据类型 41
2.1.3 变量的使用 44
2.1.4 var关键字 48
2.1.5 C#中的常量 48
2.1.6 枚举类型 49
2.1.7 类型转换 50
2.2 运算符和表达式 54
2.2.1 基本概念 55
2.2.2 赋值运算 55
2.2.3 算术运算 55
2.2.4 关系运算 59
2.2.5 逻辑运算 61
2.2.6 运算的优先级和结合性 63
2.3 可空的值类型Nullable 64
2.3.1 什么是Nullable类型 64
2.3.2 Nullable类型的HasValue属性 64
2.3.3 将Nullable类型变量的值赋值给普通值类型变量 65
2.3.4 Nullable类型之间的算术运算 65
2.3.5 Nullable类型之间的比较运算 66
2.4 本章小结 67
2.5 习题 67
第3章 Unity脚本的调试方法 69
学习目标 69
学习导航 69
知识框架 69
准备工作 70
3.1 调试的作用 70
3.2 断点调试 71
3.2.1 选择Visual Studio(VS)进行断点调试 71
3.2.2 VS中的Debug和Release配置以及pdb文件 71
3.2.3 VS断点调试的基本操作 72
3.3 日志调试 82
3.3.1 Unity脚本如何输出日志 83
3.3.2 日志调试的基本操作 83
3.4 本章小结 84
3.5 习题 84
第4章 流程控制 86
学习目标 86
学习导航 86
知识框架 86
准备工作 87
4.1 分支 87
4.1.1 if语句 87
4.1.2 switch-case语句 97
4.2 循环 103
4.2.1 while语句 104
4.2.2 do-while语句 106
4.2.3 for语句 108
4.3 特殊流程控制语句:goto,break和continue 112
4.3.1 goto语句 112
4.3.2 break语句 116
4.3.3 continue语句 118
4.4 本章小结 120
4.5 习题 120
第5章 数组 122
学习目标 122
学习导航 122
知识框架 122
准备工作 123
5.1 数组的概念 123
5.1.1 什么是数组 123
5.1.2 数组的特性 123
5.2 一维数组 124
5.2.1 一维数组的创建 124
5.2.2 一维数组的使用 125
5.3 多维数组 129
5.3.1 多维数组的创建 129
5.3.2 多维数组的使用 130
5.4 交错数组 133
5.4.1 交错数组的创建 133
5.4.2 交错数组的使用 134
5.5 本章小结 136
5.6 习题 137
第6章 函数 139
学习目标 139
学习导航 139
知识框架 139
准备工作 140
6.1 函数的概念及其作用 140
6.1.1 函数的概念 140
6.1.2 函数如何发挥作用 141
6.2 函数的定义和调用 142
6.2.1 函数定义的基本语法 143
6.2.2 函数调用的基本语法 143
6.2.3 函数的返回值 144
6.3 函数的参数 148
6.3.1 形式参数与实际参数 148
6.3.2 参数的类型 149
6.3.3 参数的特殊形式 153
6.4 函数的重载 158
6.4.1 函数的签名 158
6.4.2 函数重载的概念 158
6.4.3 为什么需要函数重载 159
6.4.4 函数重载的应用案例 159
6.5 本章小结 161
6.6 习题 161
第7章 面向对象基础 164
学习目标 164
学习导航 164
知识框架 164
准备工作 165
7.1 类和对象的概念 165
7.1.1 对象的概念 165
7.1.2 类的概念 167
7.2 类的定义 168
7.2.1 定义一个C#类的基本语法结构 168
7.2.2 定义类的字段和常量 169
7.2.3 定义类的方法 171
7.2.4 访问修饰符 173
7.2.5 定义类的属性 173
7.3 对象的使用 177
7.3.1 用于存储对象的变量:声明、实例化和赋值 177
7.3.2 访问对象的数据成员 178
7.3.3 调用对象的方法 179
7.4 继承和多态 182
7.4.1 类的继承 183
7.4.2 成员隐藏 192
7.4.3 方法重写 194
7.4.4 静态成员和静态类 202
7.4.5 扩展方法 208
7.4.6 接口 211
7.5 命名空间 222
7.5.1 什么是命名空间及其作用 223
7.5.2 命名空间的定义 223
7.5.3 使用定义在命名空间中的类 224
7.6 重新认识Unity C#脚本 225
7.6.1 Unity C#脚本默认创建的类及其对象 226
7.6.2 Start方法和Update方法的作用 227
7.6.3 Unity C#脚本默认创建的类可以放在命名空间中 227
7.7 本章小结 227
7.8 习题 228
第8章 面向对象进阶 230
学习目标 230
学习导航 230
知识框架 230
准备工作 231
8.1 范型 231
8.1.1 为什么需要范型 231
8.1.2 范型类的定义和使用 233
8.1.3 范型方法的定义和使用 237
8.2 集合 239
8.2.1 List 240
8.2.2 Dictionary 245
8.3 委托 248
8.3.1 委托类的定义 249
8.3.2 委托类对象的声明和实例化 249
8.3.3 通过委托类对象调用方法 249
8.3.4 委托链 250
8.3.5 委托类的对象可以作为方法的参数 250
8.3.6 使用委托的一个完整案例 250
8.4 事件 253
8.4.1 事件的作用 254
8.4.2 在基于事件的发布者-订阅者模式中类的构成及其对象的交互 254
8.4.3 充当事件数据类型的委托类 255
8.4.4 发布者类 255
8.4.5 订阅者类 256
8.4.6 事件的订阅 256
8.4.7 展示事件用法的完整案例 256
8.5 特性 260
8.5.1 什么是特性 260
8.5.2 特性的使用 260
8.5.3 C#语言中的Obsolete特性 261
8.5.4 Unity C#脚本中的常用特性 262
8.6 本章小结 265
8.7 习题 265
第9章 Unity中的常用类型 266
学习目标 266
学习导航 266
知识框架 266
准备工作 267
9.1 认识Unity脚本的基类MonoBehaviour 267
9.1.1 继承自MonoBehaviour类的几个常用属性 267
9.1.2 继承自MonoBehaviour类的常用普通方法 274
9.1.3 继承自MonoBehaviour类的常用事件方法 281
9.2 常用工具类和结构体 291
9.2.1 GameObject类及其应用 291
9.2.2 Mathf结构体及其应用 293
9.2.3 Vector3结构体及其应用 296
9.2.4 Quaternion结构体及其应用 300
9.2.5 Time类及其应用 302
9.2.6 Input类及其应用 303
9.3 常用组件类 307
9.3.1 Transform类及其应用 307
9.3.2 RigidBody类及其应用 315
9.4 如何查阅Unity官方资料中关于脚本的更多信息 325
9.4.1 查阅随软件安装的Unity脚本API文档 325
9.4.2 查阅在线的Unity脚本API文档 326
9.5 本章小结 326
9.6 习题 327
展开