Swift游戏开发经典实例

Book description

想编写出精彩的iOS游戏吗?使用苹果的Swift编程语言,这是前所未有的简单。本书详细介绍了iOS 游戏开发中遇到的各种问题,从架构设计到图形性能,所有内容都升级到了最新的Swift版本。

这是一次全新的升级,将让你对iOS游戏开发中遇到的常见问题获得简单、直接的答案。想知道如何让物理对象移动或者补习一下游戏方面的数学知识吗?本书给出了示例代码和答案。只要你拥有一定的iOS开发和Swift基础即可。

  • 设计游戏架构,组织游戏内容。
  • 用UIKit编写界面、定制菜单。
  • 让游戏能够检测和响应用户输入。
  • 使用音效、音乐和语音合成。
  • 通过iCloud存储和访问数据。
  • 用SpriteKit创建2D图形及动画。
  • 用物理引擎模拟真实世界。
  • 用SceneKit创建和绘制3D场景。
  • 设计AI系统进行用户测试。
  • 添加游戏控制,扩展显示器以及增强现实。

Table of contents

  1. 前言
    1. 本书的读者对象
    2. 本书的主要内容
    3. 其他资源
    4. 本书的排版约定
    5. 使用示例代码
    6. O’Reilly Safari
    7. 如何联系我们
    8. 致谢
  2. 第1章 游戏的设计
    1. 1.1 设计游戏引擎
    2. 1.2 创建基于继承的设计
    3. 1.3 创建基于组件的设计
    4. 1.4 用 GameplayKit 创建基于组件的游戏设计
    5. 1.5 计算屏幕的帧刷新时间
    6. 1.6 进入和退出游戏
    7. 1.7 用定时器进行游戏的刷新
    8. 1.8 每帧刷新
    9. 1.9 游戏暂停
    10. 1.10 记录游戏时间
    11. 1.11 使用闭包
    12. 1.12 在方法中回调闭包
    13. 1.13 使用 Operation Queues
    14. 1.14 延迟执行
    15. 1.15 串行执行
    16. 1.16 通过闭包进行数组的过滤
    17. 1.17 加载游戏资源
    18. 1.18 在游戏中使用单元测试
    19. 1.19 二维网格
    20. 1.20 使用随机数
    21. 1.21 编写状态机
  3. 第2章 视图和菜单
    1. 2.1 使用故事板 (1/2)
    2. 2.1 使用故事板 (2/2)
    3. 2.2 创建视图控制器 (1/2)
    4. 2.2 创建视图控制器 (2/2)
    5. 2.3 通过Segue导航到不同屏幕
    6. 2.4 使用布局约束进行布局
    7. 2.5 导入图片到项目
    8. 2.6 切割按钮的背景图片
    9. 2.7 用UIDynamics 创建动画视图
    10. 2.8 用Core Animation移动图片
    11. 2.9 旋转图片
    12. 2.10 实现视图的弹起效果
    13. 2.11 用UIAppearance主题化UI样式
    14. 2.12 对UIView进行3D旋转
    15. 2.13 在游戏内容之上显示菜单
    16. 2.14 创建高效的游戏菜单
  4. 第3章 输入
    1. 3.1 侦测触摸
    2. 3.2 处理轻触手势
    3. 3.3 在屏幕上拖动图片
    4. 3.4 识别旋转手势
    5. 3.5 识别捏合手势
    6. 3.6 自定义手势
    7. 3.7 在视图的指定区域识别触摸
    8. 3.8 识别摇晃手势
    9. 3.9 识别设备倾斜手势
    10. 3.10 获得指北针方向
    11. 3.11 获得用户的位置
    12. 3.12 计算运动速度
    13. 3.13 计算用户与目标的距离
    14. 3.14 当用户进入或离开某个位置时获得通知
    15. 3.15 通过地名获得坐标
    16. 3.16 通过坐标获得地名
    17. 3.17 将设备当作方向盘
    18. 3.18 测量磁场
    19. 3.19 利用输入改善游戏设计
  5. 第4章 声音
    1. 4.1 用 AVAudioPlayer播放声音
    2. 4.2 用AVAudioRecorder进行录音
    3. 4.3 使用多个AVAudioPlayer
    4. 4.4 两个声音间的淡入淡出
    5. 4.5 合成语音
    6. 4.6 获知音乐程序当前播放曲目
    7. 4.7 当前曲目何时改变
    8. 4.8 音乐回放控制
    9. 4.9 让用户选择音乐
    10. 4.10 当其他App正在播放音乐时的操作
    11. 4.11 在游戏中使用哪种声音播放模式最好
  6. 第5章 存储数据
    1. 5.1 保存游戏状态
    2. 5.2 在本地保存游戏得分
    3. 5.3 用 iCloud 保存游戏进度 (1/2)
    4. 5.3 用 iCloud 保存游戏进度 (2/2)
    5. 5.4 使用iCloud的键–值存储
    6. 5.5 何时使用文件,何时使用数据库
    7. 5.6 管理资源集
    8. 5.7 用NSUserDefaults 存放数据
    9. 5.8 最佳数据存储策略
    10. 5.9 游戏中的财富值
    11. 5.10 保存到CloudKit
    12. 5.11 向CloudKit数据库中添加记录
    13. 5.12 查询CloudKit数据库中的记录
    14. 5.13 从CloudKit数据库中删除记录
  7. 第6章 2D图形和Sprite Kit
    1. 6.1 熟悉二维数学 (1/2)
    2. 6.1 熟悉二维数学 (2/2)
    3. 6.2 创建Sprite Kit 视图
    4. 6.3 创建场景
    5. 6.4 加入精灵
    6. 6.5 文本精灵
    7. 6.6 获取有效字体
    8. 6.7 使用自定义字体
    9. 6.8 场景切换
    10. 6.9 移动精灵和标签
    11. 6.10 纹理贴图精灵
    12. 6.11 纹理图集
    13. 6.12 形状节点
    14. 6.13 混合模式
    15. 6.14 对精灵使用滤镜
    16. 6.15 贝塞尔曲线
    17. 6.16 烟雾、火焰和粒子特效
    18. 6.17 抖动屏幕
    19. 6.18 动画精灵
    20. 6.19 视差滚动 (1/2)
    21. 6.19 视差滚动 (2/2)
    22. 6.20 噪声图
  8. 第7章 物理学
    1. 7.1 物理学术语和定义
    2. 7.2 为精灵添加物理特性
    3. 7.3 静止物体和运动物体
    4. 7.4 定义碰撞体的形状
    5. 7.5 速度
    6. 7.6 质量、大小和密度
    7. 7.7 创建墙壁
    8. 7.8 设置重力
    9. 7.9 让物体无法旋转
    10. 7.10 改变物理模拟世界的时钟
    11. 7.11 碰撞检测
    12. 7.12 查找物体
    13. 7.13 连接
    14. 7.14 作用力
    15. 7.15 在物体上添加推进器
    16. 7.16 制造爆炸
    17. 7.17 根据设备方向改变重力
    18. 7.18 拖动物体
    19. 7.19 创建车辆
  9. 第8章 Scene Kit
    1. 8.1 使用Scene Kit
    2. 8.2 创建一个Scene Kit 场景
    3. 8.3 显示3D 对象
    4. 8.4 Scene Kit 的镜头
    5. 8.5 创建灯光
    6. 8.6 移动
    7. 8.7 使用文本节点
    8. 8.8 自定义材质
    9. 8.9 纹理对象
    10. 8.10 法向贴图
    11. 8.11 约束对象
    12. 8.12 加载3D模型文件
    13. 8.13 3D物理学
    14. 8.14 反射
    15. 8.15 点击测试
    16. 8.16 加载场景文件
    17. 8.17 粒子系统
    18. 8.18 Metal
  10. 第9章 人工智能和行为
    1. 9.1 Swift使向量计算更轻松
    2. 9.2 让对象朝某个点移动
    3. 9.3 跟随路径
    4. 9.4 拦截运动物体
    5. 9.5 逃逸
    6. 9.6 目标选择问题
    7. 9.7 转向问题
    8. 9.8 隐蔽点问题
    9. 9.9 路径算法
    10. 9.10 网格中的路径查找
    11. 9.11 计算下一步问题
    12. 9.12 判断对象能否“看见”其他对象
    13. 9.13 用NSLinguisticTagger作词性标注
    14. 9.14 用 AVFoundation 框架访问相机
    15. 9.15 导入 Core ML 模型
    16. 9.16 识别图片中的物体
    17. 9.17 用人工智能增强游戏设计
  11. 第10章 使用外设
    1. 10.1 检测控制器
    2. 10.2 从游戏控制器中获得输入
    3. 10.3 通过AirPlay显示游戏内容
    4. 10.4 使用扩展屏幕
    5. 10.5 为不同的屏幕适配UI
    6. 10.6 拖放 (1/2)
    7. 10.6 拖放 (2/2)
    8. 10.7 用 UIFeedbackGenerator 实现触觉回馈
    9. 10.8 用ReplayKit记录屏幕
    10. 10.9 用ARKit显示AR画面
    11. 10.10 AR场景的点击测试
    12. 10.11 用 TestFight 测试 APP
    13. 10.12 用Fastlane构建和发布APP
  12. 第11章 性能和调试
    1. 11.1 改善帧刷新率
    2. 11.2 快速加载关卡
    3. 11.3 解决内存不足问题
    4. 11.4 查找崩溃原因
    5. 11.5 使用纹理压缩
    6. 11.6 使用watchpoint
    7. 11.7 记录日志
    8. 11.8 创建语音断点
  13. 作者介绍
  14. 封面介绍

Product information

  • Title: Swift游戏开发经典实例
  • Author(s): Jonathon Manning, Paris Buttfield-Addison
  • Release date: January 2020
  • Publisher(s): China Electric Power Press Ltd.
  • ISBN: 9787519840129

You might also like

book

精通機器學習

by Aurélien Géron

建立智慧系統的概念、工具與技術 “這是一本卓越的機器學習資源,有清楚、直觀的解說,以及大量實用技巧。” —François Chollet Keras作者,《Deep Learning with Python》作者 “這本書詳細介紹以神經網路解決問題的理論與做法;建議想要實際運用ML的人都要看這本書。” —Pete Warden TensorFlow行動主管 深度學習經歷了一系列的突破之後,已經大幅推動了整個機器學習領域,如今,即使你對這項技術一無所知,也可以使用簡單、高效的工具,製作可從資料中學習的程式。這本暢銷書新版本使用具體的案例、精簡的理論,以及Python準生產框架,協助你直觀地認識智慧系統的概念與建構工具。 你將學到可快速上手的技術,只要具備程式編寫經驗,就可以藉由各章的習題來學習。你可以在GitHub取得本書的所有程式碼,這些程式已經更新為TensorFlow 2,以及最新版的Scikit-Learn。 使用Scikit-Learn與pandas,透過端對端專案建立機器學習基礎 …

book

深入淺出代數

by Tracey Pilone, Dan Pilone

『本書從學生們的生活周遭取材,設計了許多優異的範例。所有的範例與概念,全都搭配得恰到好處。』 —Herbert Tracey,羅耀拉大學數學系講師 『《深入淺出代數》是一本極具有吸引力的書籍。在解釋觀念、帶領讀者循序漸進、一步一步解決問題等等方面,本書可說是做的非常出色。』 —Shannon Stewart,數學老師 『本書採用對話的方式來呈現訊息,效果十分具有吸引力,對學習的過程也很有幫助。這種感覺就好像是真的在跟作者直接對話似的。』 —Amanda Borcky 你將從本書學到什麼? 即使拼命用功成績還是不見好轉,你累了嗎?高中代數絕不能當掉,要不然你的手機就拿不回來了嗎?只要你有心學好代數,《深入淺出代數》這本書就是為你而設計的。本書到處充滿具有吸引力的故事劇情與實際練習,還有真實世界中會遇到的狀況說明。讀完本書之後,不管是自然數、指數、聯立方程式還是多項式圖形,再也沒有什麽能難得倒你了。 這本書為何如此與眾不同? 我們認為你的時間寶貴,不應該浪費在與新概念周旋不下的窘境之中。運用認知科學與學習理論的最新研究成果,我們精心建構出一段引發多重感知的學習體驗。《深入淺出代數》針對大腦運作而設計,採用了豐富的視覺化風格,至於那些令你昏昏欲睡的冗贅敘述?那就免了吧。

book

FreeBSD® Unleashed

by Brian Tiemann, Michael C. Urban

This book teaches the reader everything he/she needs to know in order to use FreeBSD to …

book

Red Hat® Linux® 7 Unleashed

by Bill Ball, David Pitts

Red Hat Linux 7 Unleashed shows you how to install, configure, and manage version 7, the …