新書推薦:
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:NT$
349.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
|
編輯推薦: |
在如今的技术环境中学习编程无疑是一项艰巨的任务,尤其是当面对众多可选的编程语言时。幸运的是,《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版) 》消除了充满不确定性的学习过程,为初学者指明了一条成为有竞争力的Unity程序员的捷径。
在本书中,你将首先学习编程的基本构成要素,涵盖从变量、方法、条件语句到类、面向对象编程在内的所有知识。打好基础后,你将开始探索Unity接口并创建C#脚本,进而将学到的知识转换为简单的游戏机制。
在整个学习过程中,你将掌握编程方面的*实践以及宏观的架构知识,例如游戏管理器与灵活的应用程序架构。等到本书结束时,你将对C#的一些中级主题了然于胸,例如泛型、委托、事件等,从而在自己的项目中加以灵活运用。
|
內容簡介: |
主要内容
● 通过C#示例来理解编程基础知识
● 探索Unity 2019的接口与特性
● 从零开始学习C#语法
● 创建游戏设计文档和原型关卡
● 探索C#中级编程与*实践
● 使用C#实现游戏机制、交互和UI元素
|
關於作者: |
Harrison Ferrone是土生土长的芝加哥人,他经常为LinkedIn和Pluralsight创建教学内容,此外还是Ray Wenderlich网站的技术编辑。
|
目錄:
|
第Ⅰ部分 编程基础与C#
第1章 了解环境 3
1.1 一些基本前提 4
1.2 从Unity 2019开始 4
1.2.1 创建新项目 5
1.2.2 浏览编辑器 6
1.3 在Unity中使用C# 7
1.3.1 使用C#脚本 7
1.3.2 Visual Studio编辑器 9
1.3.3 同步C#文件 10
1.4 文档 10
1.4.1 访问Unity文档 10
1.4.2 查找C#资源 12
1.5 小测验——处理脚本 13
1.6 本章小结 14
第2章 编程的构成要素 15
2.1 定义变量 16
2.1.1 变量的名称很重要 16
2.1.2 将变量作为占位符 17
2.2 疯狂的方法 19
2.2.1 方法驱动行为 20
2.2.2 方法也是占位符 20
2.3 类的引入 22
2.3.1 一直在使用类 22
2.3.2 日常蓝图 22
2.4 注释是关键 23
2.5 将脚本附加到游戏对象上 25
2.5.1 脚本成为组件 25
2.5.2 来自MonoBehaviour的帮助 26
2.6 类与组件通信 26
2.7 小测验——C#的构成要素 27
2.8 本章小结 27
第3章 深入研究变量、类型和方法 29
3.1 编写正确的C#代码 29
3.2 简单的调试技术 31
3.3 变量的语法 31
3.3.1 声明类型和值 32
3.3.2 仅声明类型 32
3.4 访问修饰符 33
3.5 使用类型 34
3.5.1 通用内置类型 34
3.5.2 类型转换 37
3.5.3 推断式声明 37
3.5.4 自定义类型 38
3.5.5 类型综述 38
3.6 命名变量 38
3.7 变量的作用域 39
3.8 运算符 40
3.9 小测验——变量和类型 42
3.10 定义方法 42
3.11 指定参数 46
3.12 指定返回值 47
3.13 常见的Unity方法 50
3.13.1 Start方法 50
3.13.2 Update方法 50
3.14 小测验——理解方法 51
3.15 本章小结 51
第4章 流程控制与集合类型 53
4.1 选择语句 54
4.1.1 if-else语句 54
4.1.2 switch语句 60
4.1.3 小测验——if语句、逻辑非运算符和AND/OR逻辑运算符 64
4.2 集合一览 64
4.2.1 数组 64
4.2.2 列表 66
4.2.3 字典 68
4.2.4 小测验——关于集合的一切 71
4.3 迭代语句 71
4.3.1 for循环 72
4.3.2 foreach循环 74
4.3.3 while循环 76
4.3.4 超越无限 78
4.4 本章小结 78
第5章 使用类、结构体和OOP 79
5.1 定义类 80
5.1.1 基本语法 80
5.1.2 实例化类对象 81
5.1.3 添加类字段 81
5.1.4 使用构造函数 83
5.1.5 声明类方法 85
5.2 什么是结构体 86
5.3 类与结构体 88
5.3.1 引用类型 88
5.3.2 值类型 89
5.4 面向对象思想 90
5.4.1 封装 91
5.4.2 继承 92
5.4.3 组合 94
5.4.4 多态 95
5.4.5 OOP总结 96
5.5 在Unity中使用OOP 96
5.5.1 对象是集合起来的行为 96
5.5.2 获取组件 97
5.6 小测验——OOP的相关内容 101
5.7 本章小结 101
第Ⅱ部分 在Unity中编写游戏机制
第6章 亲自上手使用Unity 105
6.1 游戏设计入门 106
6.1.1 游戏设计文档 106
6.1.2 Hero Born游戏的单页文档 107
6.2 构建关卡 107
6.2.1 创建基本图形 108
6.2.2 在三维中思考 109
6.2.3 材质 110
6.2.4 白盒环境 112
6.3 光照基础 118
6.3.1 创建光源 118
6.3.2 Light组件的属性 119
6.4 在Unity中制作动画 120
6.4.1 创建动画片段 120
6.4.2 记录关键帧 122
6.4.3 曲线与切线 124
6.5 粒子系统 125
6.6 小测验——基本的Unity功能 127
6.7 本章小结 127
第7章 移动、相机控制与碰撞 129
7.1 移动玩家 129
7.1.1 玩家对象的创建 130
7.1.2 理解向量 131
7.1.3 获取玩家输入 133
7.2 相机跟随 136
7.3 使用Unity的物理系统 138
7.3.1 刚体运动 140
7.3.2 碰撞体和碰撞 143
7.3.3 使用碰撞体触发器 147
7.3.4 总结 150
7.4 小测验——玩家控制与物理系统 150
7.5 本章小结 150
第8章 编写游戏机制 153
8.1 添加跳跃 154
8.1.1 了解枚举 154
8.1.2 使用层遮罩 157
8.2 发射投射物 162
8.2.1 实例化对象 163
8.2.2 管理游戏对象的创建 166
8.3 游戏管理器 168
8.3.1 维护玩家属性 168
8.3.2 get和set属性 169
8.4 精益求精 173
8.4.1 图形用户界面 174
8.4.2 胜败条件 177
8.4.3 使用预编译指令和命名空间 180
8.5 小测验——游戏机制 182
8.6 本章小结 183
第9章 人工智能基础和敌人行为 185
9.1 Unity导航系统 186
9.2 移动敌人代理 189
9.3 敌人游戏机制 197
9.4 重构代码以避免代码重复 205
9.5 小测验——人工智能和导航系统 206
9.6 本章小结 207
第Ⅲ部分 提升你的C#代码
第10章 回顾类型、方法和类 211
10.1 访问修饰符再探 211
10.1.1 常量和只读属性 212
10.1.2 使用static关键字 212
10.2 方法再探 215
10.2.1 方法重载 215
10.2.2 ref参数 217
10.2.3 out参数 219
10.3 OOP 回顾 220
10.3.1 接口 220
10.3.2 抽象类 223
10.3.3 类的扩展 224
10.3.4 命名空间回顾 227
10.4 小测试——提升 228
10.5 本章小结 228
第11章 探索泛型、委托等 229
11.1 泛型介绍 229
11.1.1 泛型对象 230
11.1.2 泛型方法 232
11.1.3 约束类型参数 235
11.2 委托行为 236
11.2.1 基本语法 236
11.2.2 将委托作为参数类型 239
11.3 发送事件 241
11.3.1 基本语法 241
11.3.2 处理事件订阅 243
11.4 异常处理 245
11.4.1 抛出异常 245
11.4.2 使用try-catch语句 248
11.5 初步了解设计模式 251
11.6 小测验:C#中级主题 252
11.7 本章小结 252
第12章 旅行继续 253
12.1 有待深入 253
12.2 记住面向对象编程 254
12.3 了解Unity项目 255
12.4 开展进一步学习 255
12.4.1 C#资源 256
12.4.2 Unity资源 256
12.4.3 Unity认证 256
12.5 本章小结 257
附录部分(请扫描封底二维码获取)
附录A 完整的游戏代码文件
附录B 辅助类
附录C 小测验答案
|
內容試閱:
|
Unity已成为全球受欢迎的游戏引擎之一,可满足业余爱好者、专业3A工作室和电影工作室人员的需求。虽然主要被视为3D工具,但Unity还包含2D游戏、虚拟现实乃至产品后期处理及跨平台发布等诸多专业功能。
尽管Unity提供的即拖即用接口与内置功能已广受开发者欢迎,但真正使得Unity得到进一步发展的原因在于Unity支持使用C#来编写行为与游戏机制。编写C#代码对于有其他编程语言经验的程序员来说虽然不会是什么太大的障碍,但是会让没有任何编程经验的人望而生畏。这正是《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》将要发挥的作用,因为《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》将会带领你从零开始学习C#语言与编程的基本要素,同时在Unity中开发一些有趣的好玩游戏。
目标读者
《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》主要是为没有任何编程经验或不了解C#语言的读者编写的。如果有相关知识抑或是一位经验丰富的程序员,但想要尝试游戏开发,那么《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》也适合阅读和参考。
《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》内容
第1章“了解环境”将介绍Unity的安装过程、编辑器的主要功能以及如何查找并学习与C#和Unity主题有关的文档。该章同时还会介绍如何在Unity中创建C#脚本并使用Visual Studio编写代码。
第2章“编程的构成要素”将列出编程中基本的概念,尝试将变量、方法、类型与日常生活中的情境联系起来。你还将学习简单的调试技巧、合适的格式与注释并了解Unity是如何将C#脚本转换成组件的。
第3章“深入研究变量、类型和方法”将深入介绍变量相关的知识,包括C#的数据类型、命名规范、访问修饰符以及其他一切编程基础知识。之后你将学习如何编写方法,使用参数与返回类型。该章后将概述属于MonoBehaviour类的标准Unity方法。
第4章“控制流程与集合类型”将介绍用来进行决策的通用方式,包含if-else和switch语句。然后讨论数组、列表和字典,并利用迭代语句遍历以上集合类型。该章后将讨论条件循环语句和一种特殊的C#数据类型——枚举。
第5章“使用类、结构体和OOP”将详细介绍如何在代码中构造并实例化类与结构体,包括创建构造函数、添加类及结构体的变量和方法的基本步骤以及有关子类和继承的知识。该章将以介绍面向对象编程以及如何将其应用于C#结束。
第6章“亲自上手使用Unity”将脱离C#语法,开始对游戏设计、关卡构建和Unity特色工具进行学习。该章将从一份基础的游戏设计文档开始,然后摆放好关卡几何体并添加光照和简单的粒子系统。
第7章“移动、相机控制与碰撞”将解释移动玩家对象和设置第三人称相机的不同方式,还会讨论如何利用Unity的物理系统来达到更真实的运动效果,并使用碰撞体组件在场景中进行交互。
第8章“编写游戏机制”将介绍游戏机制的概念以及如何高效地加以实现。该章从简单的跳跃行为开始,接着创建射击机制,并添加用来处理物品收集机制的代码。
第9章“人工智能基础和敌人行为”将简要介绍游戏中的人工智能以及将要应用到Hero Born中的概念,内容涵盖在Unity中使用关卡几何体和导航网格进行寻路、智能代理以及实现敌军的自动移动。
第10章“回顾类型、方法和类”将更深入地讨论数据类型、函数特性以及可应用于更复杂类中的其他行为。该章将使你对C#语言的广度与深度有更深刻的理解。
第11章“探索泛型、委托等”将详细讲解C#语言的更多中级特性以及如何将它们应用于实际场景中。你将学习泛型编程并了解诸如委托、事件和异常处理的概念。该章将以对一些通用设计模式的讨论而结束,使你为未来的学习做好准备。
第12章“旅行继续”将回顾你在《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》中学习的主题,并提供一些可用于后续学习C#和Unity的资源,包括网络材料、认证信息以及许多受欢迎的视频教程。
附录A“完整的游戏代码文件”中包含组成Hero Born的必需的C#脚本。
附录B“辅助类”中包含一些来自第10章和第11章的中级代码,这些代码不会直接影响Hero Born的游戏机制。
附录C“小测验答案”提供《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》每一章末尾出现的小测验的答案。
如何有效利用《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》
在即将到来的学习C#和Unity之旅中,你需要做的就是保持好奇心。为了巩固所学的知识,你需要完成所有的“实践”与“试验”以及各章末尾的小测验。后,在继续前进之前,回顾你从每一章学到的知识是绝佳的主意。勿在浮沙上筑高台!
下载示例代码和书中截图
《C#实践入门:快捷学习C#编程和Unity游戏开发(第4版)》的示例代码及截图可通过扫描封底的二维码获得。
|
|