正版 Unity 3D脚本编程——使用C#语言开发跨平台游戏 陈嘉栋pdf下载pdf下载

正版 Unity 3D脚本编程——使用C#语言开发跨平台游戏 陈嘉栋百度网盘pdf下载

作者:
简介:本篇主要提供正版 Unity 3D脚本编程——使用C#语言开发跨平台游戏 陈嘉栋pdf下载
出版社:
出版时间:2016-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:Unity 3D脚本编程——使用C#语言开发跨平台游戏

定价:79.00元

作者:陈嘉栋

出版社:电子工业出版社

出版日期:2016-09-01

ISBN:9787121297182

字数:

页码:

版次:1

装帧:平装

开本:16开

商品重量:0.4kg

编辑


1. 微软MVP张善友倾情作序,力荐本书。

2. 本书作者是2015年微软MVP,园博主,在游戏蛮牛及InfoQ网站发表过多篇文章。

3. 本书以Unity 3D的跨平台基础Mono及其游戏脚本语言C#为基础进行讲解,全面地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。

4. 无论是初次接触Unity 3D脚本编程的新人,还是有经验的老手,相信都可以借本书来提高自己在Unity 3D 方面的水平。

内容提要


本书以Unity 3D的跨平台基础Mono以及其游戏脚本语言C#为基础进行讲解。全面地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。章主要介绍了Unity 3D引擎的历史以及编辑器的基本知识;第2章主要介绍了Mono,以及Unity 3D利用Mono实现跨平台的原理,并且分析了C#语言为何更加适合Unity 3D游戏开发;第3章到0章主要介绍了Unity 3D游戏脚本语言C#在使用Unity 3D开发过程中的知识点,包括Unity 3D脚本的类型基础、数据结构、在Unity 3D脚本中使用泛型、使用委托和事件打造自己的消息、利用定制特性来拓展Unity 3D的编辑器、Unity 3D协程背后的秘密——迭代器以及可空类型和序列化在Unity 3D中使用的相关知识;1章到4章,则主要介绍了Unity 3D的资源管理以及优化和编译的内容。

目录


章 Hello Unity 3D 1
1.1 Unity 3D 游戏引擎进化史 1
1.2 Unity 3D 编辑器初印象 5
1.2.1 Project 视图 5
1.2.2 Inspector 视图 8
1.2.3 Hierarchy 视图 9
1.2.4 Game 视图 10
1.2.5 Scene 视图 12
1.2.6 绘图模式 14
1.2.7 渲染模式 16
1.2.8 场景视图控制 17
1.2.9 Effects 菜单和Gizmos 菜单 18
1.3 Unity 3D 的组成 18
1.4 为何需要游戏脚本 20
1.5 本章总结 21
第2 章 Mono 所搭建的脚本核心基础 22
2.1 Mono 是什么 22
2.1.1 Mono 的组成 22
2.1.2 Mono 运行时 23
2.2 Mono 如何扮演脚本的角色 24
2.2.1 Mono 和脚本 24
2.2.2 Mono 运行时的嵌入 26
2.3 Unity 3D 为何能跨平台?聊聊CIL 38
2.3.1 Unity 3D 为何能跨平台 38
2.3.2 CIL 是什么 40
2.3.3 Unity 3D 如何使用CIL 跨平台 44
2.4 脚本的选择,C# 或 48
2.4.1 熟悉的陌生人——UnityScript 48
2.4.2 UnityScript 与 51
2.4.3 C#与UnityScript 55
2.5 本章总结 57
第3 章 Unity 3D 脚本语言的类型 58
3.1 C#的类型 58
3.2 值类型和引用类型 65
3.3 Unity 3D 脚本语言中的引用类型 73
3.4 Unity 3D 游戏脚本中的值类型 90
3.4.1 Vector2、Vector3 以及Vector4 90
3.4.2 其他常见的值类型 94
3.5 装箱和拆箱 95
3.6 本章总结 98
第4 章 Unity 3D 中常用的数据结构 99
4.1 Array 数组 100
4.2 ArrayList 数组 101
4.3 List<T>数组 102
4.4 C#中的链表——LinkedList<T> 103
4.5 队列(Queue<T>)和栈(Stack<T>) 107
4.6 Hash Table(哈希表)和Dictionary<K,T>(字典) 112
4.7 本章总结 120
第5 章 在Unity 3D 中使用泛型 121
5.1 为什么需要泛型机制 121
5.2 Unity 3D 中常见的泛型 124
5.3 泛型机制的基础 127
5.3.1 泛型类型和类型参数 128
5.3.2 泛型类型和继承 131
5.3.3 泛型接口和泛型委托 131
5.3.4 泛型方法 136
5.4 泛型中的类型约束和类型推断 139
5.4.1 泛型中的类型约束 139
5.4.2 类型推断 144第6 章 在Unity 3D 中使用委托 149 6.2 认识回调函数机制——委托 151 6.4 委托是如何调用多个方法的 160 6.6 事件是如何工作的 169 6.8 委托的简化语法 177 6.8.2 匿名方法 178 6.9 本章总结 201 7.1 初识特性——Attribute 202 7.1.2 Serializable 特性 205 7.2 Unity 3D 中提供的常用定制特性 208 7.4 检测定制特性 216 7.6 本章总结 227 8.1 初识Unity 3D 中的协程 228 8.1.2 使用StopCoroutine 方法停止一个协程 233 8.3 Unity 3D 协程背后的秘密——迭代器 238 8.3.2 原来是状态机 242 8.4 和协程 253 8.6 本章总结 259 9.1 如果没有值 260 9.2.1 使用魔值 261 9.2.3 借助引用类型来表示值类型的空值 265 9.4 可空值类型的简化语法 272 9.6 本章总结 280 10.1 初识序列化和反序列化 281 10.2.1 如何使类型可以序列化 290 10.2.3 序列化、反序列化中流的上下文介绍及应用 296 10.3.1 Unity 3D 的序列化概览 299 10.3.3 如何利用Unity 3D 提供的序列化器对自定义类型进行序列化 305 10.4.1 认识预制体Prefab 309 10.4.3 序列化和反序列化之谜 3141 章 移动平台动态读取外部文件 318 11.2 移动平台的资源路径问题 320 11.4 使用Resources 类加载资源 330 11.5.1 利用类的构造函数实现资源下载 332 11.5.3 利用Form 类实现POST 请求 3352 章 在Unity 3D 中使用AssetBundle 336 12.2 使用AssetBundle 的工作流程 337 12.2.2 运行阶段 340 12.4 AssetBundle 文件的平台兼容性 345 12.6 本章总结 346 13.1 看看Unity 3D 优化需要从哪里着手 347 13.2.1 对DrawCall 的优化 348 13.2.3 处理内存,却让CPU 受伤的GC 355 13.3 对GPU 的优化 357 13.3.2 优化显存带宽 358 13.4.1 Unity 3D 的内部内存 359 13.5 本章总结 363 14.1 Unity 3D 脚本编译流程概览 365 14.2.1 使用编译器将游戏脚本编译为托管模块 368 14.2.3 使用JIT 编译执行程序集的代码 370 14.3 AOT 提前编译 372 14.3.2 iOS 平台和Full-AOT 编译 373 14.4 谁偷了我的热更新?Mono、JIT 还是iOS 374 14.4.2 美丽的JIT 377 14.4.4 iOS 平台的自我保护 381 14.5.1 选择游戏场景和目标平台 382 14.5.3 Unity 3D 部署到Android 平台 384 14.6 本章总结 389

作者介绍


,毕业于大连海事大学,目前任光宇在线客户端开发工程师。园作者,微软2015年度VisualStudioandDevelopmentTechnologies有价值专家(MostValuableProfessional)。认为编程首先是爱好,其次才是职业。专注前沿技术,热爱开源。深信代码改变世界。 没有值得吹嘘的项目,只有不断前行的动力。

文摘






序言


^_^:abbca1c8bfb783793b6be1330c1861e0