重磅推荐
【编辑推荐】
185个iOS Swift游戏开发经典技巧,涵盖了从游戏引擎设计原则到iOS工程实践的细节。
【内容简介】
想创建精彩的 iPhone、iPad和 iPod touch 游戏吗?使用苹果公司专有的编程语言 Swift,这是再容易不过的事情了。这本升级版的 经典案例 书针对各种iOS游戏开发中的常见问题,提出了详细的解决方案:从各种 2D/3D 数学到 Sprite Kit,从 OpenGL 到游戏的性能,全都为 Swift 而准备。本书的主要内容有:游戏架构设计和代码结构。用UIKit创建和定制菜单。检测和响应用户输入。播放音效和音乐。存储数据。用Sprite Kit绘制2D图形。用Scenen Kit绘制3D图形。加入2D物理模拟。3D 图形入门、进阶和高级。人工智能。游戏控制器和外接显示。
【作者简介】
Jonathon Manning是一位游戏设计师兼程序员,他参与过的项目,包括iPad儿童益智游戏到即时消息客户端。Paris Buttfield-Addison是一位移动App工程师、游戏设计师和热衷于让技术变得更简单和不断改进的研究者。Jonathon Manning和Paris Buttfield-Addison都是Sceret Lab的联合创始人。Secret Lab是一个独立游戏工作室,位于澳大利亚的塔斯马尼亚。
【目录】
前言 1第1章游戏的设计911 设计游戏引擎 912 创建基于继承的设计 1013 创建基于组件的设计 1214 计算屏幕的帧刷新时间 1415 进入和退出游戏 1616 用定时器进行游戏的刷新 1817 每帧刷新 1818 游戏暂停 2019 记录游戏时间 20110 使用闭包 21111 在方法中回调闭包 23112 使用 Operation Queues 24113 延迟执行 26114 串行执行 27115 通过闭包进行数组的过滤 28116 加载游戏资源 28117 在游戏中使用单元测试 29118 二维表格 32 第2章 视图和菜单3521 使用故事板 3522 创建视图控制器 4123 通过Segue导航到不同屏幕 4824 使用布局约束进行布局 5225 将图片导入到项目中 5426 切割按钮的背景图片 5627 用UIDynamics创建运动视图 5728 用Core Animation移动图片5929 旋转图片 61210 在视图上实现弹起效果 62211 用UIAppearance定制UI元素 64212 对UIView 进行3D旋转 65213 将游戏菜单覆盖在游戏内容之上 67214 创建高效的游戏菜单 68第3章输入 6931 侦测触摸 6932 处理轻触手势 7133 在屏幕上拖动图片 7234 识别旋转手势 7435 识别捏合手势 7636 自定义手势 7837 在视图的指定区域识别触摸 8238 识别摇晃手势 8339 识别设备倾斜手势 84310 获得罗盘方向 87311 获得用户的位置 88312 计算运动速度 91313 计算用户与目标的距离 92314 当用户进入或离开某个位置时获得通知 93315 通过地名获得坐标 96316 通过坐标获得地名 98317 将设备当作方向盘 99318 测量磁场 100319 利用输入改善游戏设计 101第4章声音 10341 用AVAudioPlayer 播放声音 10342 用AVAudioRecorder 进行录音 10643 使用多个AVAudioPlayer 10844 两个声音间的淡入淡出 10945 合成语音 11246 获知音乐程序当前播放曲目 11347 当前曲目何时改变 11548 音乐回放控制 11649 让用户选择音乐 117410 当其他App正在播放音乐时怎么办? 119411 在游戏中使用哪一种播放模式好 121第5章存储数据 12351 保存游戏状态 12352 在本地保存游戏得分 12653 用iCloud保存游戏进度 12754 使用iCloud的键-值存储 13255 加载结构化数据 13356 什么时候使用文件,什么时候使用数据库 13557 管理资源集合 13658 用NSUserDefaults存放数据 13859 数据存储策略 140510 游戏中的财富值 141第6章 2D图形和Sprite Kit 14361 熟悉二维数学 14362 创建Sprite Kit视图14963 创建场景 15064 加入精灵 15265 文本精灵 15366 获取有效字体 15567 使用自定义字体 15668 场景切换 15669 移动精灵和标签 158610 纹理贴图精灵 161611 纹理图集 161612 形状节点 162613 混合模式 163614 对精灵使用滤镜 165615 贝塞尔曲线 166616 烟雾、火焰和粒子特效 167617 抖动屏幕 168618 动画精灵 170619 视差滚动 171620 杂点图 176第7章物理引擎 17971 物理引擎的相关术语和定义 17972 在精灵中添加物理引擎 18173 静止物体和运动物体 18274 碰撞体形状 18375 速度 18576 质量、大小和密度 18577 墙壁 18778 设置重力 18879 让物体无法旋转 189710 改变物理模拟时钟的速度 189711 碰撞检测 190712 查找物体 191713 连接 193714 作用力 194715 在物体上添加推进器 195716 制造爆炸 196717 根据设备方向改变重力 198718 拖动物体 199719 车辆 202第8章 3D图形 20581 使用3D数学 20682 创建GLKit上下文 20983 用OpenGL绘制四边形 21284 贴图 21985 绘制立方体 22186 旋转立方体 22487 在三维空间中移动镜头 225第9章 3D图形进阶 22791 加载网格 22792 父子对象 23493 网格动画 23894 批量绘制 24195 创建可移动的镜头 242第10章高级3D图形245101 着色器 245102 材质 249103 用着色器进行贴图 255104 给场景打上灯光 256105 法向贴图 258106 透明对象 260107 添加镜面高光 262108 卡通着色 264第11章 Scene Kit 266111 使用Scene Kit 266112 创建一个Scene Kit 场景 267113 显示3D对象267114 在Scene Kit中使用镜头 268115 创建灯光 269116 动画 270117 使用文本节点 271118 自定义材质 272119 纹理对象 2731110 法向贴图 2731111 约束对象 2741112 加载3D模型文件 2751113 3D 物理学2761114 加入地板 2771115 点击测试 277第12章人工智能和行为 279121 使用向量数学 279122 让对象朝某个点移动 281123 跟随路径 283124 拦截运动物体 284125 逃逸 285126 目标选择问题 286127 转向问题 287128 隐蔽点问题 288129 路径问题 2891210 计算下一步问题 2931211 判断对象能否“看见”其他对象 2941212 用人工智能增强游戏设计 296第13章网络及社交媒体 298131 游戏中心 298132 获取用户登录信息 304133 获取别的玩家信息 305134 创建排行榜和向好友挑战 305135 和其他玩家一起玩游戏 309136 创建、销毁、同步网络对象 311137 对象状态插值 313138 玩家断开和重连 314139 用Game Kit制作回合制游戏3151310 将文字和图片分享到社交网络 3191311 将游戏保存到游戏中心 3201312 充分利用iOS网络 3211313 充分利用社交网络 322第14章游戏控制器和外接屏幕 323141 检测控制器 325142 从游戏控制器中获得输入 327143 通过AirPlay显示游戏内容 328144 使用扩展屏幕 329145 如何为不同的屏幕设计UI 331146 拖放 334第15章性能和调试 340151 改善帧刷新率 340152 快速加载关卡 342153 解决内存不足问题 344154 查找崩溃原因 345155 使用纹理压缩 346156 使用监视点 349157 记录日志 351158 创建语音断点 352
返回顶部