描述
开 本: 32开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302602101
多年来,《 Unity和C#游戏编程入门》系列书籍已成为快速掌握C#这一功能强大多样、 应用场景广泛的编程语言的热门选择。本书为从零开始学习C#编程提供了一条清晰的路径,绕过了复杂的术语和难以理解的编程逻
辑,通过在Unity中创建一个简单的游戏来实现知识的掌握。
第5版中,对C#功能的介绍针对新版的Unity游戏引擎进行了更新,同时增加了介绍中级集合类型的章节。读者将从软件编程与C#语言的基础开始,学习C#编程中的核心概念,包括变量、类和面向对象编程。在具备了C#编程的基本能力后,读者将进入Unity游戏开发的世界,并发掘如何通过C#脚本来实现简单的游戏机制。本书将提供编程学习的动手实践体验,以帮助读者将Unity和C#技能水平提升到新的高度。
通过本书的学习,读者将能够利用C#语言构建自己的Unity实际游戏开发项目。
主要内容:
●通过简单易懂的步骤和示例学习C#基础编程
●掌握如何在L Jnity中创建和应用脚本
●用C#实现诸如角色控制和射击等基本游戏机制
●理解接口与抽象类的概念
●利用**版C#的强大功能解决复杂的编程问题
●熟悉堆栈、队列、异常、错误处理等其他C#核心概念
●探索游戏中人工智能( AI )的基础知识并将其应用于 控制敌人行为
第1章了解开发环境1
1.1 技术要求 2
1.2 Unity 2020入门 2
1.2.1 使用 macOS.7
1.2.2 创建一个新项目 9
1.2.3 浏览编辑器 10
1.3 在 Unity中使用 C# 12
1.3.1 使用 C#脚本 12
1.3.2 Visual Studio编辑器介绍 14
1.3.3 同步 C#文件 16
1.4 探讨技术文档 17
1.4.1 访问 Unity的技术文档 17
1.4.2 查找 C#资源 19
1.5 本章小结 21
1.6 小测验——关于脚本 21
第2章编程的构成要素 22
2.1 变量的定义 23
2.1.1 变量的名称很重要 24
2.1.2 变量充当占位符 24
2.2 了解方法 27
2.2.1 方法驱动行为 28
2.2.2 方法也是占位符 28
2.3 介绍类 30
2.3.1 一个常用的 Unity类 31
2.3.2 类就像蓝图 31
2.4 使用注释 32
2.4.1 实用的反斜杠 33
2.4.2 多行注释 33
2.5 将基础模块整合在一起 34
2.5.1 脚本成为组件 35
2.5.2 来自 MonoBehavior的助力.. 36
2.6 类之间的通信 37
2.7 本章小结 38
2.8 小测验 —— C#的构成要素 38
第3章深入研究变量、类型和方法39
3.1 编写符合规范的 C#代码 40
3.2 调试代码 41
3.3 声明变量 42
3.3.1 同时声明类型和值 43
3.3.2 仅声明类型 43
3.4 使用访问修饰符 44
3.5 了解数据类型 46
3.5.1 通用内置类型 46
3.5.2 类型转换 49
3.5.3 推断式声明 50
3.5.4 自定义类型 51
3.5.5 类型综述 51
3.6 命名变量 52
3.7 了解变量的作用域 53
3.8 运算符 54
3.9 定义方法 57
3.9.1 基本语法 57
3.9.2 修饰符和参数 58
3.10 指定参数 61
3.11指定返回值 63
3.12 剖析常见的 Unity方法 66
3.12.1 Start( )方法. 67
3.12.2 Update( )方法 67
3.13 本章小结 68
3.14 小测验——变量和方法 69
第4章控制流和集合类型70
4.1 选择语句 71
4.1.1 if-else语句 71
4.1.2 switch语句 80
4.1.3 小测验 —— if语句与逻辑运算符 84
4.2 初识集合 84
4.2.1 数组 85
4.2.2 列表 87
4.2.3 字典 90
4.2.4 小测验——集合 94
4.3 迭代语句 94
4.3.1 for循环 94
4.3.2 foreach循环. 97
4.3.3 while循环. 99
4.3.4 超越无限101
4.4 本章小结 102
第5章类、结构体和 OOP103
5.1 定义类 104
5.1.1 基本语法104
5.1.2 实例化类对象105
5.1.3 添加类字段 106
5.1.4 使用构造函数107
5.1.5 声明类方法 110
5.2 声明结构体 112
5.3 理解引用和值类型 114
5.3.1 引用类型115
5.3.2 值类型116
5.4 植入面向对象的思维 118
5.4.1 封装 118
5.4.2 继承 120
5.4.3 组合 122
5.4.4 多态 123
5.4.5 面向对象编程综述124
5.5 在 Unity中应用面向对象编程 125
5.5.1 对象是类的行为125
5.5.2 访问组件126
5.6 本章小结 131
5.7 小测验 —— OOP的相关内容 132
第6章亲手实践 Unity133
6.1 游戏设计入门 134
6.1.1 游戏设计文档134
6.1.2 Hero Born游戏单页文档135
6.2 构建关卡 136
6.2.1 创建原始对象136
6.2.2 用 3D思维思考138
6.2.3 材质 140
6.2.4 白盒 142
6.3 光照基础 151
6.3.1 创建光源152
6.3.2 Light组件属性 153
6.4 在 Unity中制作动画 154
6.4.1 创建动画剪辑154
6.4.2 录制关键帧 157
6.4.3 曲线和切线 159
6.5 粒子系统 162
6.6 本章小结 164
6.7 小测验 —— Unity基本功能 164
第7章角色移动、摄像机以及碰撞 165
7.1 角色移动 166
7.1.1 玩家设置167
7.1.2 理解向量168
7.1.3 获取玩家输入170
7.2 添加摄像机跟随 174
7.3 使用 Unity物理系统 177
7.3.1 刚体运动179
7.3.2 碰撞体和碰撞183
7.3.3 使用碰撞体触发器187
7.3.4 物理系统综述191
7.4 本章小结 192
7.5 小测验 ——玩家控制和物理系统 192
第8章游戏机制脚本编写 193
8.1 添加跳跃 194
8.1.1 介绍枚举194
8.1.2 使用层遮罩 198
8.2 发射子弹 203
8.2.1 实例化对象 203
8.2.2 管理游戏对象的堆积208
8.3 创建游戏管理器 209
8.3.1 追踪玩家属性209
8.3.2 get和 set属性..211
8.4 游戏的收尾打磨 216
GUI.216
8.4.1
8.4.2 胜负条件220
8.4.3 使用指令和命名空间222
8.5 本章小结 225
8.6 小测验 ——游戏机制 226
第9章 AI基础与敌人行为227
9.1 Unity导航系统 228
9.2 移动敌人代理 231
9.3 敌人游戏机制 240
9.4 重构并保持“ DRY” 248
9.5 本章小结 250
9.6 小测验 —— AI和导航. 250
第10章 再谈类型、方法和类 251
10.1 再谈访问修饰符 252
10.1.1 常量和只读属性252
10.1.2 使用 static关键字 253
10.2 再谈方法. 255
10.2.1 方法重载255
10.2.2 ref参数..257
10.2.3 out参数260
10.3 再谈面向对象 260
10.3.1 接口261
10.3.2 抽象类 264
10.3.3 类的扩展266
10.4 再谈命名空间 269
10.5 本章小结. 270
10.6 小测验——升级 270
第11章栈、队列和 HashSet 271
11.1栈 272
11.1.1 基本语法272
11.1.2 出栈和查看栈顶274
11.1.3 常用方法276
11.2队列 278
11.2.1 基本语法278
11.2.2 添加、删除和查看279
11.2.3 常用方法279
11.3使用 HashSet 280
11.3.1 基本语法280
11.3.2 执行集合运算 281
11.4本章小结 283
11.5小测验 ——中级集合 283
第12章探索泛型、委托等284
12.1 泛型 284
12.1.1 泛型对象285
12.1.2 泛型方法287
12.1.3 约束类型参数 290
12.2 委托行为. 291
12.2.1 基本语法291
12.2.2 将委托作为参数类型 294
12.3 触发事件. 296
12.3.1 基本语法296
12.3.2 处理事件订阅 298
12.4 处理异常. 301
12.4.1 抛出异常301
12.4.2 使用 try-catch.304
12.5 设计模式入门 307
12.6 本章小结. 309
12.7 小测验——中级 C#. 309
第13章旅程继续310
13.1 有待深入的基础知识 310
13.2 牢记面向对象编程 311
13.3 了解 Unity项目 312
13.4 进一步学习 313
13.4.1 C#资源313
13.4.2 Unity资源314
13.4.3 Unity认证314
13.5 本章小结. 315
小测验答案317
推 荐 一
游戏被很多人称为“第九艺术”,近年来更与传统的文学、音乐、建筑、雕塑、绘画、舞蹈、电影和戏剧这“八大艺术”开始并驾齐驱。
游戏之所以变得越来越受欢迎,我觉得与其丰富的体验方式和内容形式息息相关。我们不仅可以在手机的方寸之间畅游《原神》这样的二次元开放式大世界,也可以在配备了高性能显卡的主机设备上(如 Xbox和 PlayStation),使用附带力反馈功能的手柄体验与游戏世界中超写实类角色的深入互动,更可以戴上 VR头盔感受真正的沉浸式 3D互动体验。
而要做出好的游戏,游戏引擎是核心开发工具之一。 Unity作为目前世界范围内的游戏引擎,经过十几年的快速发展,我们已经可以使用它为将近 30个计算平台开发互动式内容。无论你是开发 2D、 3D,还是 VR/AR/MR互动式内容, Unity都可以提供完整的开发工具链。近些年来,这些内容已经超出游戏的领域,进入影视动画、汽车制造、建筑建造这些非游戏领域。
因为游戏本质上是实时渲染出来的互动式内容,所以游戏的一个基本功能是可以接受玩家的输入信息 (来自鼠标、键盘、手柄等 ),并对其进行处理,然后实时生成相关的内容。因此对于游戏开发人员来说,使用编程语言开发相关的游戏逻辑就是其中必不可少的一环。
本书使用通俗易懂的语言,深入浅出地为想要使用 Unity开发互动式内容(不仅仅是游戏 )的同学,提供了非常系统性的学习资料。配合书中的实例项目,一步一个脚印,按部就班地学习,相信大家很快可以掌握在 Unity中使用 C#编程语言的基础知识,开始自己的游戏开发之旅!
杨栋 Unity大中华区平台技术总监《创造高清 3D虚拟世界: Unity引擎 HDRP高清渲染管线实战》作者
推 荐 二
随着新一代信息技术的日新月异,以数字化、网络化、智能化、虚拟化为特征的信息化浪潮已经蔚然兴起,人们对信息内容的生产、传播和消费也从传统的单一渠道、单一媒介、单一体验升级为对多元、多维、多态的全域融合媒体的新需求。数字游戏兼具了感官刺激与交互性,和极佳的内容叙事能力,已成为当前受欢迎、影响力的数字内容表达与传播形式之一;虚拟现实、增强现实、混合现实等人机交互技术更是为用户提供了虚实融合、沉浸全息的极致体验,进一步拉近了用户与内容的距离;以“万物智联”、“虚实互映”为目标,数字孪生技术通过构建智慧工业、智慧城市、智慧校园等方式,加快了政治、经济、生产、教育、文旅、传媒等各领域数字产业化和产业数字化的进程 ——而所有这一切,组成了今天备受人们关注和热议的元宇宙领域的重要基石。
与由短视频、自媒体的兴起会带来影视编辑学习门槛的降低,进而引领大众学习并参与内容生产一样,数字内容的消费升级也亟需低门槛、高效率、开放式的工具,使得万千大众能够积极参与数字内容的创作与开发,同时也为创意工作者、独立开发者以及中大型工作室提供更便利、更强大、更丰富的创作和开发环境,而 Unity便是当前领域中受欢迎、热门、广受好评的引擎之一。
人工智能技术的快速发展与广泛应用,要求当代人应具备基本的编程能力和算法思维,以满足对未来智能社会的基本认知和信息素养。 C#语言作为一种面向对象、类型安全、表达自然的编程语言,同时也作为 Unity的脚本语言,是零基础初学者学习编程的绝佳选择,也便于已具备 C、C 、 Java和 JavaScript经验的成熟编程者快速上手 Unity的脚本编写。
本书从学习者的视角出发,将以往同类教材中晦涩难懂的概念与日常生活中的事物结合起来,用通俗平实的语言循序渐进地将编程的相关知识点娓娓道来,并通过案例实践的方式,与学习者一起制作游戏来达到学习 Unity的目的,是一本适合各专业背景的学习者和数字内容创作爱好者学习与了解 Unity游戏开发与 C#编程的入门教材和工具书。
曹三省教授中国传媒大学媒体融合与传播国家重点实验室党政班子成员协同创新中心副主任、互联网信息研究院副院长中国电子学会虚拟现实分会副主任委员
推 荐 三
首先非常感谢两位老师为本书的翻译付出的辛劳,很荣幸我能够有机会提前看到这本书,内容真的非常棒。本书充分地结合了 Unity来讲解 C#的知识体系。相比单纯的 C#教学来说,更实用也更有意思!书中非常全面地介绍了 Unity游戏开发过程中,大家几乎一定会用到的 C#知识,并使用通俗易懂的方式来讲解原理和实际运用。对于我个人来说,在我的 Unity项目中常常会运用很多 C#内容,但往往我只是停留在会用的程度,缺乏对其定义,或者说对其背后的基本原理和概念进行透彻的理解。这本书能够帮助我更全面地了解这些内容。特别值得一提的是,本书中的每一个关键知识点,除了结合了非常棒的案例以外,也有很多需要特别“注意”的提醒!书中还包括很多 C#技术文档的链接,可以帮助想要更深入学习知识的朋友快速定位到需要查阅的内容。事实上,本书更像一本参考书或字典,弥补了很多平时会被忽略的小技巧和知识点。想要在 Unity开发过程中学习 C#,看这本书就足够了!
当然,这本书除了 C#语言的介绍讲解以外,也涵盖了对几乎所有 Unity常用主要功能的介绍,组件的使用方法等等。如果全部认真看完并且自己动手完成操作的话,那么你与做出一个小游戏 Demo就只差一套美术素材的距离了:)
总之,这本书让我收获很多。只有打好基础才能发挥更多创意。本书也是我看过的一本讲解 C#的书,推荐给所有刚刚上手 Unity或已经可以做一些小 Demo的朋友来阅读学习,相信你一定会跟我一样收获良多。
Michael Wang bilibili 知名 UP主:M_Studio 2022年度 Unity社区影响人物
推 荐 四
社区里面经常会被问到: Unity学习过程中需要了解哪些知识?这是一个很好的问题,也是一个很难回答的问题。幸运的是,本书很好地回答了这个问题。本书从 C#开始,涵盖到 Unity常用模块的使用,能够很好地帮助有兴趣的开发者深入浅出,系统性地学习 Unity。祝您开卷有益。
Unity大中华区资深技术经理高川
推 荐 五
从虚拟社区到游戏、元宇宙概念,虚拟体验实现了人们超越现实的想象,而 3D引擎是链接虚拟体验的重要工具。这是一本非常好的入门教材,当你有一定的程序基础后,基于一个通用成熟的商业引擎,可以让你快速地了解 3D游戏世界的基础结构搭建,从校门走向行业,将兴趣变成现实,帮助你完成自我的学习和实践。国内关于游戏的书籍一直非常少,更多的内容仅存在于行业内的交流。感谢分享经验和辛勤翻译的同学,让更多人有机会加入到创造全新世界体验中来。
徐振华苏州游戏蜗牛九阴工作室负责人
推 荐 六
游戏、互动式电影、扩展现实等一直深受青年一代喜爱,尤其在当今全面数字化的时代中,正逐渐成为文化创意、国际文化交流、文化遗产保护等众多领域重要的信息载体和有效传播手段之一。 Unity使用 C#作为脚本编程语言,是青年人初次接触和尝试数字创意与开发的。本书条理清晰,语言表达通俗易懂,真正面向零起点学习者,且对美术、艺术等非计算机相关专业背景的读者也非常友好。通过对本书的学习,读者既能掌握 Unity的基本使用和操作技巧,同时也能掌握和理解 C#编程基础以及通用的编程理论知识。
王科大连外国语大学创新创业学院院长、软件学院院长、大数据产业学院院长
译者序
随着游戏、影视动画、扩展现实、数字孪生乃至元宇宙等相关技术及其应用的发展,世人对优质的视听、人机交互、虚拟仿真等相关需求愈加旺盛,数字内容的种类与形式也越发广泛和丰富,越来越多来自不同领域与专业的创意人员参与创作和开发。这便需要一种简单、快捷、高效的工具与工作流来满足不同领域内容创作者与开发者的需求,Unity便是其中流行与优质并存的选择之一。
在 Unity与 C#教学过程中,我们发觉现有教材或教程大多延续了传统计算机语言的语言范式和内容编排模式,虽严谨、专业度高,但言语晦涩难懂,且与应用和现实生活脱节。尤其是对于艺术、动画等非工科背景的学习者来说,专业语言成了一条难以逾越的门槛,很多 Unity爱好者和学习者往往都因此中道而止。
本书原著作者用极其通俗生活化的语言和比喻为读者诠释了 Unity与 C#语言的基础知识与使用方法,并结合了项目实践、说明与提示、小测验等模块进一步帮助读者理解和灵活运用 C#与 Unity。作者将创建的游戏项目命名为“ Hero Born”(勇者诞生 ),寄托了他对读者踏上学习征程的期许,还配有“Hero’s Trial”(勇者的试炼)环节,鼓励读者接受章节中的挑战。
我们在翻译过程中也追求尽力还原并贴合原作者口语化的叙述风格,希望能用平易近人的语言,为来自任意领域任何背景的读者清晰诠释相关专业概念。期待本书可以成为帮助零基础,尤其是艺术、影视动画等无编程背景的学习者了解 Unity与 C#的有力教程与工具书。
贡 献 者
关于作者
Harrison Ferrone出生并成长于美国伊利诺伊州的芝加哥。他花费了大量时间为 Microsoft编写技术文档,为 LinkedIn Learning和 Pluralsight创建教学内容,此外还是 Ray Wenderlich网站的技术编辑。
他获得了科罗拉多大学博尔德分校和芝加哥哥伦比亚学院的多个学位。毕业后,作为 iOS开发人员,在一家小型初创公司和一家财富 500强公司工作数年之后, Harrison转而投身于教学生涯,直到今天。一路走来,他买过很多书,养过几只猫,也在国外工作过,始终想知道为什么论文集《神经漫游者》没有被更多课程的教学大纲采用。
本书的完成离不开 Kelsey(我在这次写书旅程中的战友 )以及 Wilbur、 Merlin、Walter和 Evey给予我的勇气和关爱。
关于审校者
Andrew Edmonds是一位经验丰富的程序员、游戏开发工程师和教育家。他拥有沃什伯恩大学计算机科学学士学位,并且是 Unity认证的程序员和讲师。大学毕业后,他在堪萨斯州立法机构担任了三年的软件工程师,后五年开始教导高中生如何编写代码和制作电子游戏。作为一名教师,他帮助过许多有抱负的年轻游戏开发者取得了超出他们想象的成就,包括在2019年凭借使用 Unity制作的虚拟现实游戏赢得了 SkillsUSA全美电子游戏开发锦标赛。目前, Andrew与妻子 Jessica以及他们的两个女儿 Alice和 Ada在华盛顿居住生活。
Adam Brzozowski是一位资深的软件工程师,负责开发游戏和客户端应用程序。他的工作涉及 Unity、虚幻引擎、 C 、Swift和 Java,能够为每个项目找到合适的解决方案。
前言
Unity是世界上受欢迎的游戏引擎之一,适用于业余爱好者、专业 3A工作室和电影制作公司。虽然 Unity主要被视为创作 3D的工具,但它还具有诸多专有功能,支持从 2D游戏、虚拟现实到后期制作、跨平台发布的所有内容。
尽管 Unity的即拖即用接口和内置功能深受广大开发者喜爱,但真正让 Unity更上一层楼的原因在于, Unity能为行为和游戏机制编写自定义 C#脚本。学习编写 C#代码对于已熟悉其他语言、经验丰富的程序员来说可能不是什么太大的障碍,但会令没有编程经验的初学者望而生畏。本书的意义在于带领大家从头开始学习 C#语言和编程的基本构成要素,同时在 Unity中开发一个有趣且好玩的游戏。
本书读者对象
本书主要面向没有编程基础或 C#语言经验的人群。无论是具有 C#或其他编程语言经验的编程老手,或 C#语言的初学者,只要想尝试在 Unity中动手实践,进行游戏开发,那么本书就适合他阅读和参考。
本书主要内容
第 1章“了解开发环境”,介绍 Unity安装过程、 Unity编辑器的主要功能、查阅 C#和 Unity特定主题文档的方法,以及从 Unity内部创建 C# 脚本的步骤,并对 Visual Studio应用具有初步认识,我们所有的代码编辑工作都将在 Visual Studio中进行。
第 2章“编程的构成要素”,从列举编程的原子级概念开始,将变量、方法和类与日常生活中的事物联系起来。然后介绍简单的调试技巧、正确的格式设置和注释,以及 Unity是如何将 C#脚本转换为组件的。
第 3章“深入研究变量、类型和方法”,对变量进行更深入的讲解,内容包括 C#的数据类型、命名约定、访问修饰符等其他编程基础内容。并讨论如何更有效地编写方法、使用参数和返回类型。后,对属于 MonoBehavior类的标准 Unity方法进行概述。
第 4章“控制流和集合类型”,引入在代码中做出决策的常用方法,包括 if…else和 switch语句。然后介绍如何使用数组、列表和字典,并结合迭代语句来循环遍历集合类型。后,介绍条件循环语句和被称为“枚举”的特殊 C#数据类型。
第 5章“类、结构体和 OOP”,首次接触并详细介绍如何构造和实例化类与结构体,创建构造函数、添加变量和方法的基本步骤,以及使用子类和继承的基础知识。后,全面诠释面向对象编程及其在 C#中的应用。
第 6章“亲手实践 Unity”,标志着我们从 C#语法进入游戏设计、关卡构建和 Unity特定工具的世界。首先从了解游戏设计文档的基础知识开始,然后完成游戏关卡的场景布局,并添加光照和简单的粒子系统。
第 7章“角色移动、摄像机以及碰撞”,讲解使玩家角色移动和设置第三人称摄像机的不同方法,并介绍如何通过 Unity物理引擎获得更逼真的运动效果,如何使用碰撞体组件以及如何捕获场景中的交互。
第 8章“游戏机制脚本编写”,介绍游戏机制的概念以及如何有效地实现游戏机制。从添加简单的跳跃动作开始,然后创建射击机制,并基于前几章的代码添加处理道具收集的逻辑。
第 9章“AI基础与敌人行为”,简要概述游戏中的人工智能以及应用于 Hero Born示例中的相关概念。涵盖的主题包括 Unity中的导航、使用关卡几何体和导航网格、智能代理,以及敌人自动移动。
第 10章“再谈类型、方法和类”,更深入地讲解有关数据类型、中级方法特性以及可用于更复杂类的其他操作。本章将带着读者进一步了解 C#语言的多功能性和广泛度。
第 11章“栈、队列和 HashSet”,深入探讨中级集合类型及其功能。涵盖的主题包括如何使用堆栈、队列和 HashSet以及它们分别适合的不同开发场景。
第 12章“探索泛型、委托等”,详细介绍 C#语言的中级特性以及如何在实际场景中应用它们。从泛型编程的概述开始,逐步介绍委托、事件和异常处理等概念。后,简要探讨常见的设计模式,并为未来更进一步的学习做好准备。
第 13章“旅程继续”,回顾整本书讲解的主要主题,并提供进一步学习 C#和 Unity的资源。这些资源包括在线阅读材料、认证信息和许多视频教程频道。
使用本书的条件
为了能在即将到来的 C#和 Unity冒险中获得收益,你需要保持好奇心和学习意愿。为了巩固所学知识,你需要花一些时间在书中的“行动时刻”“勇者的试炼”和“小测验”等部分。后,在继续学习新知识之前,好重温知识点或整个章节来刷新或加强理解,因为在不稳定的地基上盖房子是没有意义的。
此外,还需要在计算机上安装当前版本的 Unity,建议使用 2020或更高版本。本书中所有代码示例均已使用 Unity 2020.1进行测试,且应该可以在未来版本中正常使用。
本书涵盖的软件/硬件
Unity 2020.1或更高版本
Visual Studio 2019或更高版本
C# 8.0或更高版本
在开始之前,请检查计算机设置是否满足 https://docs.unity3d.com/2019.1/ Documentation/Manual/system-requirements.html上的 Unity系统要求。这些要求是针对 Unity 2019设置的,但也同样适用于 Unity 2020及更高版本。
下载示例代码文件及彩图
本书提供了大量的示例代码文件,可通过扫描封底处的二维码下载并查看。由于本书为单色印制,如需查看书中图片的彩色版本,也可通过扫描封底处二维码进行下载。
评论
还没有评论。