×
暂无评论
图文详情
  • ISBN:9787302668022
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:32开
  • 页数:388
  • 出版时间:2024-08-01
  • 条形码:9787302668022 ; 978-7-302-66802-2

本书特色

Unity能够为游戏行为和游戏机制编写自定义的C#脚本,该能力使Unity 加强大,这也是本书可以为编程新手提供帮助之处。 哈里森 ? 费隆(Harrison Ferrone)在这部畅销书的第7版中,通过在Unity中构建一款有趣且可玩的游戏原型的方式,引导读者从零了解C#语言和编程的每个组成部分。 本书将讲解面向对象编程(OOP)的基础、C#的基本概念以及如何使用Unity引擎,并通过大量的代码示例、练习和提示说明帮助读者悟透本书内容,提高实战能力。 读者将通过编写C#脚本实现简单的游戏机制、执行过程化编程,并通过引入智能敌人和可造成伤害的投射物来为游戏增加复杂度。伴随着每个章节的学习,读者将探索Unity游戏开发的基础知识,包括游戏设计、光照基础、玩家移动、摄像机控制、碰撞等。

内容简介

Unity能够为游戏行为和游戏机制编写自定义的C#脚本,该能力使Unity更加强大,这也是本书可以为编程新手提供帮助之处。
哈里森·费隆(Harrison Ferrone)在这部畅销书的第7版中,通过在Unity中构建一款有趣且可玩的游戏原型的方式,引导读者从零了解C#语言和编程的每个组成部分。
本书将讲解面向对象编程(OOP)的基础、C#的基本概念以及如何使用Unity引擎,并通过大量的代码示例、练习和提示说明帮助读者悟透本书内容,提高实战能力。
读者将通过编写C#脚本实现简单的游戏机制、执行过程化编程,并通过引入智能敌人和可造成伤害的投射物来为游戏增加复杂度。伴随着每个章节的学习,读者将探索Unity游戏开发的基础知识,包括游戏设计、光照基础、玩家移动、摄像机控制、碰撞等。

目录

第1章 了解开发环境 1 1.1 技术要求 1 1.2 Unity 2022入门 2 1.2.1 使用macOS 7 1.2.2 创建新项目 7 1.2.3 编辑器界面导航 9 1.3 在Unity中使用C# 11 1.3.1 使用C#脚本 11 1.3.2 介绍Visual Studio编辑器 12 1.3.3 同步C#文件 14 1.4 浏览技术文档 15 1.4.1 访问Unity的技术文档 15 1.4.2 查找C#资源 18 1.5 本章小结 19 1.6 小测验 —— 关于脚本 20 第2章 编程的基本构建块 21 2.1 定义变量 21 2.1.1 名字很重要 22 2.1.2 变量充当占位符 23 2.2 了解方法 26 2.2.1 方法驱使行为 26 2.2.2 方法也是占位符 27 2.3 类 29 2.3.1 一个常见的Unity类 30 2.3.2 类就像蓝图 30 2.3.3 类之间的通信 31 2.4 使用注释 32 2.4.1 单行注释 32 2.4.2 多行注释 32 2.4.3 添加注释 33 2.5 整合基本构建块 33 2.5.1 将脚本变成组件 34 2.5.2 来自MonoBehaviour的助力 36 2.6 本章小结 37 2.7 小测验——C#的基本构建块 37 第3章 深入了解变量、类型和方法 39 3.1 编写符合规范的C#代码 40 3.2 调试代码 41 3.3 深入了解变量 42 3.3.1 声明变量 42 3.3.2 使用访问修饰符 44 3.3.3 了解数据类型 46 3.3.4 命名变量 51 3.3.5 了解变量的作用域 52 3.4 运算符 53 3.5 定义方法 55 3.5.1 声明方法 56 3.5.2 命名约定 58 3.5.3 方法是逻辑上的绕行道 58 3.5.4 指定参数 59 3.5.5 指定返回值 60 3.5.6 使用返回值 61 3.6 本章小结 64 3.7 小测验——变量和方法 65 第4章 控制流和集合类型 67 4.1 选择语句 67 4.1.1 if-else 语句 68 4.1.2 switch语句 77 4.1.3 小测验1——if语句与逻辑运算符 82 4.2 初识集合 82 4.2.1 数组 82 4.2.2 列表 86 4.2.3 字典 89 4.2.4 小测验2—— 关于集合的一切 92 4.3 迭代语句 92 4.3.1 for循环 92 4.3.2 foreach循环 96 4.3.3 while 循环 98 4.3.4 超越无限 100 4.4 本章小结 101 第5章 使用类、结构体以及面向对象编程 103 5.1 什么是面向对象编程 104 5.2 定义类 104 5.2.1 实例化类对象 105 5.2.2 添加类字段 106 5.2.3 使用构造方法 107 5.2.4 声明类方法 110 5.3 声明结构体 111 5.4 了解引用类型和值类型 114 5.4.1 引用类型 114 5.4.2 值类型 115 5.5 植入面向对象的思维 116 5.5.1 封装 117 5.5.2 继承 118 5.5.3 组合 120 5.5.4 多态 121 5.6 在Unity中应用面向对象编程 122 5.6.1 对象是类的行动 123 5.6.2 访问组件 124 5.7 本章小结 128 5.8 小测验——面向对象编程的那些事 128 第6章 亲手实践Unity 129 6.1 游戏设计入门 129 6.1.1 游戏设计文档 130 6.1.2 Hero Born游戏单页文档 131 6.2 构建关卡 131 6.2.1 创建原始对象 132 6.2.2 用3D思维思考 134 6.2.3 材质 135 6.2.4 白盒 138 6.3 光照基础 147 6.3.1 创建光源 147 6.3.2 Light组件属性 148 6.4 在Unity中制作动画 149 6.4.1 使用代码创建动画 150 6.4.2 在Unity中使用Animation窗口创建动画 151 6.4.3 录制关键帧 154 6.4.4 曲线和切线 156 6.5 本章小结 158 6.6 小测验—— Unity的基本功能 159 第7章 角色移动、摄像机以及碰撞 161 7.1 管理玩家移动 161 7.2 使用Transform组件移动玩家 162 7.2.1 理解向量 164 7.2.2 获取玩家输入 166 7.2.3 角色移动 167 7.3 编写摄像机行为脚本 170 7.4 使用Unity物理系统 172 7.4.1 刚体运动 174 7.4.2 碰撞体和碰撞 178 7.4.3 使用碰撞触发器 181 7.4.4 物理系统综述 185 7.5 本章小结 186 7.6 小测验 —— 玩家控制和物理系统 186 第8章 游戏机制脚本编写 187 8.1 添加跳跃 187 8.1.1 枚举介绍 188 8.1.2 使用层遮罩 191 8.2 发射子弹 196 8.2.1 实例化对象 196 8.2.2 添加射击机制 198 8.2.3 管理对象堆积 201 8.3 创建游戏管理器 202 8.3.1 追踪玩家属性 202 8.3.2 get和set属性 204 8.3.3 更新道具收集 206 8.4 创建GUI 208 8.4.1 显示玩家数据 208 8.4.2 胜负条件 216 8.4.3 使用指令和命名空间暂停和重启游戏 221 8.5 本章小结 225 8.6 小测验——游戏机制 225 第9章 AI基础与敌人行为 227 9.1 在Unity中导航3D空间 227 9.1.1 导航组件 228 9.1.2 设置敌人代理 230 9.2 移动敌人代理 231 9.2.1 面向过程编程 231 9.2.2 引用巡逻点 232 9.2.3 移动敌人 234 9.3 敌人游戏机制 238 9.3.1 寻找和销毁:改变代理的目标 238 9.3.2 减少玩家生命值 240 9.3.3 检测子弹碰撞 241 9.3.4 更新游戏管理器 244 9.4 重构并保持“DRY” 246 9.5 本章小结 248 9.6 小测验——AI和导航 248 第10章 重睹类型、方法和类 249 10.1 再谈访问修饰符 249 10.1.1 常量和只读属性 250 10.1.2 使用static关键字 250 10.2 重睹方法 252 10.2.1 重载方法 252 10.2.2 ref参数 254 10.2.3 out参数 256 10.3 中级的面向对象编程 257 10.3.1 接口 257 10.3.2 抽象类 261 10.3.3 类的扩展 263 10.4 命名空间冲突和类型别名 266 10.5 本章小结 267 10.6 小测验——升级 268 第11章 特殊集合类型和LINQ 269 11.1 栈 269 11.1.1 出栈(Pop)和查看栈顶(Peek) 273 11.1.2 常用方法 274 11.2 队列 275 11.3 哈希集 277 11.4 关于中级集合的小结 279 11.5 用LINQ查询数据 280 11.5.1 LINQ基础 280 11.5.2 lambda表达式 283 11.5.3 链式查询 284 11.5.4 将数据转换为新类型 285 11.5.5 用可选语法化简 286 11.6 本章小结 288 11.7 小测验——中级的集合 288 第12章 保存、加载与数据序列化 289 12.1 数据格式 289 12.1.1 解构XML 290 12.1.2 解构JSON 291 12.2 了解文件系统 293 12.2.1 使用资产路径 295 12.2.2 创建或删除目录 297 12.2.3 创建、更新、删除文件 299 12.3 使用数据流 305 12.3.1 管理数据流资源 306 12.3.2 使用StreamWriter与StreamReader 306 12.3.3 创建一个XMLWriter 310 12.3.4 自动关闭数据流 313 12.4 数据序列化 314 12.4.1 序列化和反序列化XML 315 12.4.2 序列化和反序列化JSON 319 12.5 数据汇总 325 12.6 本章小结 326 12.7 小测验——数据管理 326 第13章 探索泛型、委托以及更多 327 13.1 泛型 327 13.1.1 泛型类 328 13.1.2 泛型方法 330 13.1.3 约束类型参数 333 13.1.4 向Unity对象添加泛型 336 13.2 委托行动 337 13.2.1 创建调试委托 337 13.2.2 将委托作为参数类型 339 13.3 触发事件 340 13.3.1 创建并调用事件 341 13.3.2 处理事件订阅 342 13.3.3 清理事件订阅 344 13.4 处理异常 345 13.4.1 抛出异常 345 13.4.2 使用try-catch语句 347 13.5 本章小结 350 13.6 小测验——中级 C# 350 第14章 旅程继续 351 14.1 有待更深入的知识 351 14.2 牢记面向对象编程 352 14.3 设计模式入门 353 14.4 走进Unity项目 353 14.5 本书未提及的Unity特性 354 14.6 下一步的学习 354 14.6.1 C#资源 354 14.6.2 Unity资源 355 14.6.3 Unity认证 355 14.7 英雄的试炼 —— 向全世界展示 356 14.8 本章小结 357 小测验答案 359
展开全部

作者简介

(美)哈里森·费隆(Harrison Ferrone)是土生土长的芝加哥人,他经常为LinkedIn和Pluralsight创建教学内容,并担任Ray Wenderlich网站的技术编辑,曾为Microsoft的混合现实团队编写技术文档。 在科罗拉多大学博尔德分校和芝加哥哥伦比亚学院求学时,Harrison Ferrone撰写过多篇引发关注的论文。作为iOS开发人员,在为一家初创公司和另一家名列《财富》500强的公司工作数年后,Harrison Ferrone选择从事教育事业。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航