iOS和tvOS 2D游戏开发教程

iOS和tvOS 2D游戏开发教程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2017-02
版次: 01
ISBN: 9787115442963
定价: 109.00
装帧: 平装
开本: 16开
页数: 534页
正文语种: 简体中文
  • Sprite Kit是Apple内建的框架,专门用于开发iOS的2D游戏。tvOS是Apple TV所使用的操作系统平台,可以将App和游戏等呈现到大屏幕的TV上。本书详细介绍了如何使用Apple内建的2D游戏框架Sprite Kit和Swift语言来开发iOS和tVOS游戏。
    全书共分为5个部分29章。每个部分针对一类技术主题,并且通过一款生动的游戏的开发贯穿其中。当学习完每个部分的时候,读者通过一款游戏的关卡或功能的逐步完成和完善,不知不觉掌握了作者所要介绍的技术主题。
    第1部分包括前7章,涵盖了用Sprite Kit进行2D游戏开发的基础知识,分别介绍了角色、手动移动、动作、场景、相机、标签等主题,并且初步认识了tvOS。这部分将开发一款叫做Zombie Conga的僵尸游戏,并将其迁移到tvOS上。第二部分包括第8章到第13章,主要介绍场景编辑器、游戏开发的物理知识,裁剪、视频和形状节点以及中级tvOS知识。这部分将开发一款叫做Cat Nap的谜题游戏,并将其迁移到tvOS上。第三部分关注给游戏添加特效,包括第14章到第17章,将开发一款叫做Drop Charge的游戏,并通过状态机、粒子系统、声影效果、动画等众多技术来点亮这款游戏。第四部分包括第18章到第20章,主要关注iOS 9新引入的GameplayKit技术。这部分会开发一款Dino Defense塔防攻击游戏,并通过实体-组件系统、寻路算法和代理、目标和行为等技术,实现游戏中的恐龙的寻路和移动行为。第五部分包括第21章到第24章,涉及贴图地图、程序式关卡生成、GameplayKit随机性和游戏控制器等高级话题。这部分将开发一款叫做Delve的地牢探险游戏,并应用各章所介绍的技术。第六部分包括第24章到第29章,涉及和游戏相关的其他技术,包括向游戏中添加Game Center排行榜和成就、使用ReplayKit录制游戏视频并进行分享、把iAd加入到游戏中,以及程序员如何实现游戏美工。这部分将打造一款叫做Circuit Racer的赛车游戏中,并加入各章所所介绍的技术。
     本书内容详尽、生动有趣,通过丰富、完整的游戏案例,帮助读者学习和掌握全新的游戏开发技术。本书适合对iOS和tvOS上的游戏开发感兴趣的初学者阅读参考。 Mike Berg是一位全职的游戏美术师,他很幸运地和来自全世界的独立游戏开发者一起工作。当他没有处理像素色彩的时候,他喜欢美食、花时间和家人在一起,以及玩游戏并感受快乐。可以通过www.weheartgames.com找到他的作品。

    Michael Briscoe是一位有着30多年经验的独立的软件开发者。他所选择的平台包括Apple的所有产品,从Macintosh、 到iPhone、iPad和Apple TV。他的专长是开发娱乐性软件,例如游戏和模拟器。可以访问他的Web站点skyrocketsoftware. wordpress.com。

    Kauserali Hafizji是一位开发者。他是一位热衷编写代码的程序员,甚至在周末的时候,他也在编程。一本好书,泡个澡,再吃上一顿大餐,对他来说就可以过一个很好的周末了。你可以通过@Ali_hafizji在Twitter上找到他。

    Neil North是一位资源管理员、软件开发者和业务自动化专家,他很喜欢开发独立的游戏、从事音频工程,以及帮助其他人实现有创意的目标。他还教授iOS游戏和App开发,并且在Udemy和CartoonSmart上都开设了课程。Neil居住在澳大利亚,你可以访问他的网站apptlycreative.com。

    Toby Stephens有20多年的软件开发经验,并且目前是伦敦的inplaymaker移动开发总监。Toby热衷于游戏编程。他还会编写乐曲,并且喜欢烘焙面包。可以通过@TJShae在Twitter上联系他,也可以访问他的网站website: tjshae.com。

    Rod Strougo从Apple II开始了自己的物理和游戏之旅,开始用Basic编写游戏。Rod的职业生涯有过转型,他花了15年的时间为IBM和AT&T编写软件。在那些日子里,他始终保持着在游戏开发和教学方面的热忱,并且在Big Nerd Ranch等处提供iOS培训。他起初来自巴西的Rio de Janeiro,现在和妻子和儿子一起居住在亚特兰大。

    Marin Todorov是一位独立的iOS开发者和作者。他20多年前开始在Apple II上就行开发,并且一直持续到今天。除了编写代码,Marin还喜欢写博客、写书、教学和演讲。他有时候会花时间为开源项目编写代码。他居住在Santiago。可以访问他的Web站点www.underplot.com。

    Ray Wenderlich是一位iPhone开发者,也是Razeware LLC的创始人。Ray对于开发App和教授其他人开发App都充满了热情。他和他的教程团队已经编写了很多iOS开发教程,参见www.raywenderlich.com 。 第一部分 基 础 知 识
    第1章 精灵 2
    1.1 开始 2
    1.1.1 通用App支持 6
    1.1.2 添加图像 7
    1.1.3 启动界面 8
    1.2 显示精灵 11
    1.2.1 创建精灵 11
    1.2.2 把精灵加到场景 11
    1.2.3 定位精灵 12
    1.2.4 设置精灵的锚点 13
    1.2.5 旋转精灵 14
    1.2.6 获取精灵的大小 15
    1.2.7 精灵和节点 15
    1.2.8 节点和z位置 16
    1.2.9 最后修整 16
    1.3 挑战 17
    挑战1:添加僵尸 17
    挑战2:进一步的文档 18
    第2章 手动移动 19
    2.1 Sprite Kit游戏循环 19
    2.2 移动僵尸 21
    2.2.1 第1次迭代:每帧固定
    移动 21
    2.2.2 第2次迭代:速率乘以时间
    增量 23
    2.2.3 第3次迭代:朝着触摸的
    方向移动 24
    2.2.4 第4次迭代:边界检测 28
    2.2.5 第5次迭代:游戏区域 29
    2.3 旋转僵尸 31
    2.4 挑战 33
    挑战1:数学工具 33
    挑战2:让僵尸停下来 35
    挑战3:平滑移动 35
    第3章 动作 38
    3.1 移动动作 38
    3.2 连续动作 40
    3.3 等待动作 41
    3.4 运行代码块动作 42
    3.5 反向动作 42
    3.6 重复动作 44
    3.7 定期生成 45
    3.8 从父节点删除动作 46
    3.9 动画动作 47
    3.10 停止动作 48
    3.11 缩放动画 49
    3.12 旋转操作 50
    3.13 组动作 51
    3.14 碰撞检测 52
    3.15 Sprite Kit游戏循环第2轮 54
    3.16 声音动作 55
    3.17 共享动作 55
    3.18 挑战 56
    挑战1:ActionsCatalog演示程序 56
    挑战2:一个受保护的僵尸 57
    挑战3:康茄舞队 57
    第4章 场景 59
    4.1 获胜或失败的条件 59
    4.2 创建一个新的场景 61
    4.3 转换到一个场景 62
    4.4 创建一个定制的场景初始化
    程序 63
    4.5 背景音乐 65
    4.6 挑战 65
    挑战1:主菜单场景 66
    第5章 相机 67
    5.1 灯光、相机,开始 67
    5.2 滚动的背景 70
    5.3 不断滚动的背景 72
    5.4 修改游戏设置 74
    5.5 挑战 75
    挑战1:修改猫女士 75
    第6章 标签 77
    6.1 内建字体和字体族 77
    创建标签 79
    6.2 给Zombie Conga添加一个
    标签 80
    6.3 对齐方式 81
    6.4 加载定制字体 83
    6.5 更新标签文本 86
    6.6 挑战 86
    挑战1:小猫计数 86
    第7章 初识tvOS 88
    7.1 tvOS用户输入 88
    7.2 开始 89
    7.3 按钮按下 92
    7.4 添加一个tvOS目标 93
    7.5 修正触摸处理 97
    7.6 上架图像和3D图标 99

    第二部分 物理和节点

    第8章 场景编辑器 102
    8.1 开始 103
    8.1.1 材质图册简介 104
    8.2 开始使用场景编辑器 105
    8.2.1 Object Library 106
    8.2.2 添加和放置精灵 107
    8.2.3 布置第一个场景 108
    8.3 文件引用 110
    8.4 动画和动作引用 112
    给节点添加动作 113
    8.5 关于时间线的更多介绍 114
    重复动作 115
    8.6 挑战 118
    挑战1:进一步创建小猫动作 118
    挑战2:进一步创建小猫场景 120
    第9章 物理基础 122
    9.1 Sprite Kit中的物理引擎 122
    物理实体 123
    9.2 开始 124
    9.3 第一个Playground 126
    9.4 创建一个Sprite Kit Playground 127
    9.5 圆形实体 131
    9.6 边缘闭合实体 133
    9.7 矩形实体 134
    9.8 定制形状的实体 134
    9.9 可视化实体 135
    9.10 复杂形状的实体 136
    9.11 物理实体的属性 138
    9.12 应用冲击 139
    9.13 挑战 141
    挑战1:力量 141
    挑战2:体感实体 142
    第10章 中级物理 143
    10.1 开始 143
    10.2 定制节点类 144
    10.3 将精灵连接到变量 146
    10.4 添加物理 147
    10.4.1 在场景编辑器中创建简单
    实体 148
    10.4.2 模拟场景 149
    10.4. 3用代码创建简单实体 150
    10.4.4 创建定制实体 151
    10.5 SKTUtils简介 151
    10.6 背景音乐 152
    10.7 控制实体 152
    10.7.1 分类实体 153
    10.7.2 处理触摸 155
    10.7.3 检测实体之间的碰撞 157
    10.7.4 检测实体之间的接触 159
    10.8 最终修改 161
    10.8.1 添加一条游戏进行中的消息 161
    10.8.2 失败场景 162
    10.8.3 播放动画 164
    10.8.4 获胜场景 165
    10.9 挑战 166
    挑战1:统计弹跳次数 167
    第11章 高级物理 168
    11.1 Spirt Kit游戏循环第3轮 168
    11.2 关卡2简介 170
    11.3 加载关卡 171
    11.4 场景编辑器,第2轮 171
    11.4.1 弹弓 174
    11.5 接合概览 175
    11.5.1 固定接合 175
    11.5.2 有限接合 176
    11.5.3 弹性接合 176
    11.5.4 别针接合 177
    11.5.5 滑动接合 177
    11.6 接合的应用 178
    11.6.1 使用固定接合 178
    11.6.2 使用弹性接合 180
    11.7 Sprite Kit游戏循环,第4轮 181
    11.8 限制概览 182
    11.8.1 实现绳子的限制 183
    11.8.2 更多限制 184
    11.9 动态地创建和删除接合 184
    11.10 组合形状 187
    11.10.1 设计关卡3 188
    11.10.2 创建组合对象 189
    11.11 关卡推进 192
    11.12 挑战 192
    挑战1:给Cat Nap再添加一个关卡 193
    第12章 裁剪、视频和形状节点 195
    12.1 开始 196
    12.2 裁剪节点 196
    12.3 视频节点 200
    12.3.1 创建一个视频节点 200
    12.3.2 视频播放 202
    12.3.3 开始和结束 204
    12.3.4 迪斯科舞小猫 206
    12.4 形状节点 208
    12.4.1 添加一个形状节点 209
    12.4.2 形状节点基础 210
    12.4.3 添加提示箭头 211
    12.5 挑战 214
    挑战1:提示无处不在 214
    挑战2:当fillColor遇到fillTexture 214
    第13章 中级tvOS 215
    13.1 添加一个tvOS目标 215
    上架图像和3D图标 216
    13.2 将代码移植到tvOS 218
    13.3 Apple TV遥控,第2轮 220
    13.3.1 TV控制第1部分:谁应该采取
    行动 220
    13.3.2 TV控制第2部分:停留在循
    环中 222
    13.3.3 和Apple TV模拟器交互 225
    13.3.4 TV控制第3部分:点击所有
    内容 226
    13.4 挑战 227
    挑战1:打磨Apple TV上的所有关卡 227

    第三部分 果 汁

    第14章 开发Drop Charge 232
    14.1 开始 232
    添加图片 233
    14.2 在场景编辑器中构建游戏世界 234
    14.2.1 配置场景 234
    14.2.2 添加背景精灵 234
    14.2.3 添加前景精灵 236
    14.2.4 创建平台 236
    14.2.5 创建金币 237
    14.3 编写游戏设置代码 238
    14.3.1 添加平台 238
    14.3.2 更多平台 241
    14.3.3 扔炸弹 241
    14.3.4 获取物理效果 242
    14.3.5 碰撞检测 243
    14.3.6 使用Core Motion来控制玩家 244
    14.3.7 相机跟踪 245
    14.3.8 让岩浆流动 247
    14.3.9 重复背景、金币和平台 249
    14.3.10 还有一件事情 249
    14.4 挑战 250
    挑战1:创建跨5块的、可破裂的
    平台 250
    挑战2:创建一个“特殊的”金币
    箭头 250
    挑战3:创建额外的平台和金币
    样式 251
    挑战4:为新的覆盖对象添加代码 252
    第15章 状态机 254
    15.1 状态机是如何工作的 254
    15.2 开始 256
    15.3 状态1:等待点击 256
    15.4 状态2:等待炸弹 257
    15.5 状态3:玩游戏 259
    更新游戏设置 260
    15.6 状态4:游戏结束 261
    15.7 最后修改 262
    15.8 挑战 263
    挑战1:一个英雄状态机 263
    第16章 粒子系统 265
    16.1 粒子系统是如何工作的 266
    16.1.1 粒子系统理论 266
    16.1.2 粒子系统的实际应用 266
    16.2 粒子系统编程 267
    16.2.1 粒子系统的核心属性 268
    16.2.2 让模拟提前进行 270
    16.2.3 粒子系统的更多核心属性 271
    16.2.4 范围属性 271
    16.2.5 关键帧属性 271
    16.2.6 序列属性 272
    16.3 可视化地创建粒子系统 273
    16.3.1 创建一个SKS文件 273
    16.3.2 Xcode粒子发射器编辑器 274
    16.3.3 制作岩浆 275
    16.3.4 加载SKS文件 276
    16.3.5 持续的系统和运行一次的
    系统 277
    16.3.6 哪里有火,哪里就会有烟 277
    16.3.7 目标粒子系统 279
    16.4 挑战 280
    挑战1:收集常规金币的效果 280
    挑战2:收集特殊金币的效果 280
    挑战3:破裂平台效果 280
    挑战4:玩家轨迹效果 280
    第17章 点亮游戏 282
    17.1 给游戏添加果汁的3个步骤 283
    17.1.1 步骤1:角色 283
    17.1.2 步骤2:交互 283
    17.1.3 步骤3:5种基本的特效 284
    17.2 开始 285
    17.3 音乐和声音效果 285
    17.3.1 创建变化的节奏 286
    17.3.2 添加声音效果 286
    17.3.3 最后的声音效果 288
    17.4 帧动画 289
    17.4.1 可视化地创建动作 289
    17.4.2 通过时间线编辑 290
    17.4.3 使用金币应用 291
    17.4.4 用代码实现动画动作 292
    17.5 粒子效果 294
    17.5.1 随机爆炸 295
    17.5.2 增加力量粒子效果 296
    17.5.3 游戏结束了 297
    17.6 屏幕效果 297
    振动、振动,还是振动 298
    17.7 精灵效果 299
    弹跳的平台 300
    17.8 最后的修改 301
    17.9 挑战 302
    挑战1:创建一个“挤压和拉伸”效果 302
    挑战2:将Drop Charge移植到tvOS上 302
    17.10 如何继续学习 302

    第四部分 GameplayKit

    第18章 实体-组件系统 304
    18.1 开始 304
    18.1.1 游戏层 305
    18.1.2 材质图册 305
    18.2 GameplayKit简介 306
    18.3 实体-组件系统 307
    18.4 GameplayKit的实体-组件系统 308
    18.5 第一个组件 308
    18.6 第一个实体 309
    18.7 将实体添加到场景 310
    18.8 阴影组件 312
    18.9 动画组件 313
    18.9.1 GKComponentSystem 316
    18.9.2 添加到实体 317
    18.10 重用组件 318
    18.11 发射组件 320
    发射炮弹 322
    18.12 挑战 324
    挑战1:生命值组件 325
    第19章 寻路算法 328
    19.1 GameplayKit中的寻路 328
    19.1.1 基于网格的寻路 328
    19.1.2 基于障碍物的寻路 329
    19.2 塔防障碍物 329
    打开GameScene.sks 329
    19.3 塔防选择器动画 332
    19.4 选择塔防 334
    19.5 显示菜单 335
    19.6 放置塔防 336
    19.7 创建障碍物图形 337
    19.8 将塔防添加到障碍物图形 337
    19.9 用寻路算法移动实体 338
    19.10 挑战 341
    挑战1:更多障碍物 341
    挑战2:精灵的Z位置 344
    第20章 代理、目标和行为 346
    20.1 GameplayKit的代理、目标和行为 346
    20.2 添加代理 347
    20.3 添加行为和目标 348
    20.4 在代理上设置行为 349
    实现GKAgentDelegate 351
    20.5 音乐插曲 352
    20.6 攻击波 352
    20.6.1 发送攻击波 354
    20.6.2 随机选取起始位置 355
    20.6.3 从攻击波中删除恐龙 356
    20.7 HUD 358
    20.8 减少生命数 359
    20.9 花钱建造塔防 360
    20.10 减慢速度效果 361
    20.11 挑战 364
    挑战1:TV版的Dino Defense 364

    第五部分 高 级 话 题

    第21章 贴图地图游戏 366
    21.1 Delve简介 366
    21.2 开始 367
    21.2.1 开始关卡构建 368
    21.2.2 创建一个基本的关卡 369
    21.2.3 显示关卡 369
    21.2.4 添加一个相机节点 371
    21.3 打造一个基于贴图的关卡 372
    预先设置关卡 374
    21.4 实现状态机 375
    21.5 游戏需要一个英雄人物 377
    21.5.1 创建精灵组件 378
    21.5.2 将英雄添加到场景中 378
    21.5.3 创建动画组件 380
    21.5.4 添加组件系统 384
    21.5.5 让英雄移动起来 385
    21.5.6 通过倾斜来移动 387
    21.5.7 更新动画 389
    21.5.8 将相机聚焦到英雄身上 390
    21.5.9 添加碰撞 390
    21.6 挑战 392
    挑战1:定制关卡 392
    第22章 随机性 393
    22.1 随机意味着什么 393
    22.2 GameplayKit的随机性 394
    22.2.1 随机性分布 394
    22.2.2 随机性源 396
    22.3 醉汉行走算法 397
    22.4 开始 397
    22.5 实现醉汉行走算法 401
    22.5.1 更新地图生成器 402
    22.5.2 到达出口 404
    22.6 制作更好的关卡 406
    组合分布 408
    22.7 挑战 411
    挑战1:随机贴图 411
    第23章 程序式关卡 412
    23.1 基于房间的程序式关卡设计 412
    23.2 构建更好的生成器 413
    构建房间 413
    23.3 填充地牢 417
    23.3.1 处理生命值 418
    23.3.2 引入石人 420
    23.3.3 创建一个武器 427
    23.4 挑战 431
    挑战1:难度 432
    第24章 游戏控制器 433
    24.1 控制器格式 434
    24.2 开始 434
    24.3 创建控制器管理器 436
    24.3.1 指定控制 439
    24.3.2 标准游戏手柄 440
    24.3.3 使用控制器命令 440
    24.3.4 移动控制 442
    24.3.5 扩展游戏手柄 443
    24.4 添加tvOS目标 444
    24.5 在tvOS上支持控制器 446
    24.5.1 连接到控制器 447
    24.5.2 微游戏手柄 447
    24.5.3 绑定控制 449
    24.6 挑战 450
    挑战1暂停游戏 450

    第六部分 额 外 章 节

    第25章 Game Center成就 452
    25.1 开始 452
    25.2 Game Center简介 453
    25.3 配置App以使用Game Center 454
    25.3.1 打开Game Center 455
    25.3.2 在iTune Connect上注册App 455
    25.3.3 配置Game Center成就 457
    25.4 认证本地玩家 459
    25.4.1 认证回调 460
    25.4.2 将认证加入到游戏中 460
    25.5 添加成就 463
    25.5.1 为成就创建一个辅助类 463
    25.5.2 将成就整合到游戏中 464
    25.6 初始化内建的用户界面 466
    将UI加入到游戏中 467
    25.7 挑战 469
    挑战1:Racing addict和成就 469
    第26章 Game Center排行榜 470
    26.1 支持排行榜 470
    26.1.1 步骤1:认证本地玩家 470
    26.1.2 步骤2:创建一个排行榜
    策略 470
    26.1.3 步骤3:在iTunes Connect中
    配置排行榜 471
    26.1.4 步骤4:向Game Center报告
    得分 474
    26.1.5 步骤5:向玩家显示排行榜 476
    26.2 排行榜集合 477
    26.3 Game Center的安全性 479
    26.3.1 提交如何工作 480
    26.3.2 限制作弊 480
    26.4 挑战 480
    挑战1:排行榜集合 480
    第27章 ReplayKit 481
    27.1 ReplayKit架构 481
    27.2 整合ReplayKit 482
    27.2.1 步骤1:创建一个策略来开始和
    停止记录 483
    27.2.2 步骤2:修改用户界面 484
    27.2.3 步骤3:检查可用性 488
    27.2.4 步骤4:开始和停止记录 491
    27.2.5 步骤5:预览和分享记录 496
    第28章 iAd 498
    28.1 iAd简介 498
    28.2 iAd是如何工作的 498
    28.3 Ad格式 499
    28.3.1 横幅广告 499
    28.3.2 间隙广告 500
    28.3.3 媒介反馈广告 501
    28.3.4 预滚动广告 501
    28.4 整合iAd 501
    28.5 加入iAd网络 501
    28.6 加入iAd框架 502
    28.7 显示横幅广告 504
    28.8 显示间隙广告 506
    28.9 iAd最佳实践 507
    28.10 挑战 507
    挑战1:自动显示 507
    第29章 写给程序员的2D美工知识 508
    29.1 选择路径:雇人还是DIY 508
    29.1.1 雇佣一名美术师 508
    29.1.2 自己做美工 508
    29.2 如何找到并雇佣一位美术师 509
    29.2.1 会议和聚会 509
    29.2.2 Twitter 509
    29.2.3 搜索简历 509
    29.2.4 招募申请者 510
    29.2.5 这真的有用吗 510
    29.3 向美术师付酬 510
    29.3.1 收入分成合同 510
    29.3.2 固定报酬合同和分小时报酬 510
    29.3.3 价格预期 511
    29.4 开始 511
    29.5 开始绘制草图 512
    29.6 将草图导入到Illustrator中 515
    29.7 用矢量线条描摹草图 517
    29.7.1 编辑路径 519
    29.7.2 创建复杂的线条 519
    29.7.3 将线条的末端圆角化 520
    29.7.4 完成轮廓 520
    29.8 定制画笔宽度 520
    29.8.1 为Illustrator创建一个默认的
    宽度样式 521
    29.8.2 针对不同的线条形状,使用
    其他的宽度样式 521
    29.9 给美工图上色 522
    29.9.1 使用路径寻找器来组合
    形状 524
    29.9.2 给眼睛上色 525
    29.9.3 为某个区域上色 526
    29.9.4 关于图层的一点说明 527
    29.9.5 调整对象层的顺序 528
    29.10 关于阴影和光线 529
    29.10.1 表现深度的额外阴影细节 530
    29.10.2 给轮廓上色 531
    29.11 导出PNG文件 532
    29.12 挑战 534
    挑战1:老鼠 534
    挑战2:小狗 534
  • 内容简介:
    Sprite Kit是Apple内建的框架,专门用于开发iOS的2D游戏。tvOS是Apple TV所使用的操作系统平台,可以将App和游戏等呈现到大屏幕的TV上。本书详细介绍了如何使用Apple内建的2D游戏框架Sprite Kit和Swift语言来开发iOS和tVOS游戏。
    全书共分为5个部分29章。每个部分针对一类技术主题,并且通过一款生动的游戏的开发贯穿其中。当学习完每个部分的时候,读者通过一款游戏的关卡或功能的逐步完成和完善,不知不觉掌握了作者所要介绍的技术主题。
    第1部分包括前7章,涵盖了用Sprite Kit进行2D游戏开发的基础知识,分别介绍了角色、手动移动、动作、场景、相机、标签等主题,并且初步认识了tvOS。这部分将开发一款叫做Zombie Conga的僵尸游戏,并将其迁移到tvOS上。第二部分包括第8章到第13章,主要介绍场景编辑器、游戏开发的物理知识,裁剪、视频和形状节点以及中级tvOS知识。这部分将开发一款叫做Cat Nap的谜题游戏,并将其迁移到tvOS上。第三部分关注给游戏添加特效,包括第14章到第17章,将开发一款叫做Drop Charge的游戏,并通过状态机、粒子系统、声影效果、动画等众多技术来点亮这款游戏。第四部分包括第18章到第20章,主要关注iOS 9新引入的GameplayKit技术。这部分会开发一款Dino Defense塔防攻击游戏,并通过实体-组件系统、寻路算法和代理、目标和行为等技术,实现游戏中的恐龙的寻路和移动行为。第五部分包括第21章到第24章,涉及贴图地图、程序式关卡生成、GameplayKit随机性和游戏控制器等高级话题。这部分将开发一款叫做Delve的地牢探险游戏,并应用各章所介绍的技术。第六部分包括第24章到第29章,涉及和游戏相关的其他技术,包括向游戏中添加Game Center排行榜和成就、使用ReplayKit录制游戏视频并进行分享、把iAd加入到游戏中,以及程序员如何实现游戏美工。这部分将打造一款叫做Circuit Racer的赛车游戏中,并加入各章所所介绍的技术。
     本书内容详尽、生动有趣,通过丰富、完整的游戏案例,帮助读者学习和掌握全新的游戏开发技术。本书适合对iOS和tvOS上的游戏开发感兴趣的初学者阅读参考。
  • 作者简介:
    Mike Berg是一位全职的游戏美术师,他很幸运地和来自全世界的独立游戏开发者一起工作。当他没有处理像素色彩的时候,他喜欢美食、花时间和家人在一起,以及玩游戏并感受快乐。可以通过www.weheartgames.com找到他的作品。

    Michael Briscoe是一位有着30多年经验的独立的软件开发者。他所选择的平台包括Apple的所有产品,从Macintosh、 到iPhone、iPad和Apple TV。他的专长是开发娱乐性软件,例如游戏和模拟器。可以访问他的Web站点skyrocketsoftware. wordpress.com。

    Kauserali Hafizji是一位开发者。他是一位热衷编写代码的程序员,甚至在周末的时候,他也在编程。一本好书,泡个澡,再吃上一顿大餐,对他来说就可以过一个很好的周末了。你可以通过@Ali_hafizji在Twitter上找到他。

    Neil North是一位资源管理员、软件开发者和业务自动化专家,他很喜欢开发独立的游戏、从事音频工程,以及帮助其他人实现有创意的目标。他还教授iOS游戏和App开发,并且在Udemy和CartoonSmart上都开设了课程。Neil居住在澳大利亚,你可以访问他的网站apptlycreative.com。

    Toby Stephens有20多年的软件开发经验,并且目前是伦敦的inplaymaker移动开发总监。Toby热衷于游戏编程。他还会编写乐曲,并且喜欢烘焙面包。可以通过@TJShae在Twitter上联系他,也可以访问他的网站website: tjshae.com。

    Rod Strougo从Apple II开始了自己的物理和游戏之旅,开始用Basic编写游戏。Rod的职业生涯有过转型,他花了15年的时间为IBM和AT&T编写软件。在那些日子里,他始终保持着在游戏开发和教学方面的热忱,并且在Big Nerd Ranch等处提供iOS培训。他起初来自巴西的Rio de Janeiro,现在和妻子和儿子一起居住在亚特兰大。

    Marin Todorov是一位独立的iOS开发者和作者。他20多年前开始在Apple II上就行开发,并且一直持续到今天。除了编写代码,Marin还喜欢写博客、写书、教学和演讲。他有时候会花时间为开源项目编写代码。他居住在Santiago。可以访问他的Web站点www.underplot.com。

    Ray Wenderlich是一位iPhone开发者,也是Razeware LLC的创始人。Ray对于开发App和教授其他人开发App都充满了热情。他和他的教程团队已经编写了很多iOS开发教程,参见www.raywenderlich.com 。
  • 目录:
    第一部分 基 础 知 识
    第1章 精灵 2
    1.1 开始 2
    1.1.1 通用App支持 6
    1.1.2 添加图像 7
    1.1.3 启动界面 8
    1.2 显示精灵 11
    1.2.1 创建精灵 11
    1.2.2 把精灵加到场景 11
    1.2.3 定位精灵 12
    1.2.4 设置精灵的锚点 13
    1.2.5 旋转精灵 14
    1.2.6 获取精灵的大小 15
    1.2.7 精灵和节点 15
    1.2.8 节点和z位置 16
    1.2.9 最后修整 16
    1.3 挑战 17
    挑战1:添加僵尸 17
    挑战2:进一步的文档 18
    第2章 手动移动 19
    2.1 Sprite Kit游戏循环 19
    2.2 移动僵尸 21
    2.2.1 第1次迭代:每帧固定
    移动 21
    2.2.2 第2次迭代:速率乘以时间
    增量 23
    2.2.3 第3次迭代:朝着触摸的
    方向移动 24
    2.2.4 第4次迭代:边界检测 28
    2.2.5 第5次迭代:游戏区域 29
    2.3 旋转僵尸 31
    2.4 挑战 33
    挑战1:数学工具 33
    挑战2:让僵尸停下来 35
    挑战3:平滑移动 35
    第3章 动作 38
    3.1 移动动作 38
    3.2 连续动作 40
    3.3 等待动作 41
    3.4 运行代码块动作 42
    3.5 反向动作 42
    3.6 重复动作 44
    3.7 定期生成 45
    3.8 从父节点删除动作 46
    3.9 动画动作 47
    3.10 停止动作 48
    3.11 缩放动画 49
    3.12 旋转操作 50
    3.13 组动作 51
    3.14 碰撞检测 52
    3.15 Sprite Kit游戏循环第2轮 54
    3.16 声音动作 55
    3.17 共享动作 55
    3.18 挑战 56
    挑战1:ActionsCatalog演示程序 56
    挑战2:一个受保护的僵尸 57
    挑战3:康茄舞队 57
    第4章 场景 59
    4.1 获胜或失败的条件 59
    4.2 创建一个新的场景 61
    4.3 转换到一个场景 62
    4.4 创建一个定制的场景初始化
    程序 63
    4.5 背景音乐 65
    4.6 挑战 65
    挑战1:主菜单场景 66
    第5章 相机 67
    5.1 灯光、相机,开始 67
    5.2 滚动的背景 70
    5.3 不断滚动的背景 72
    5.4 修改游戏设置 74
    5.5 挑战 75
    挑战1:修改猫女士 75
    第6章 标签 77
    6.1 内建字体和字体族 77
    创建标签 79
    6.2 给Zombie Conga添加一个
    标签 80
    6.3 对齐方式 81
    6.4 加载定制字体 83
    6.5 更新标签文本 86
    6.6 挑战 86
    挑战1:小猫计数 86
    第7章 初识tvOS 88
    7.1 tvOS用户输入 88
    7.2 开始 89
    7.3 按钮按下 92
    7.4 添加一个tvOS目标 93
    7.5 修正触摸处理 97
    7.6 上架图像和3D图标 99

    第二部分 物理和节点

    第8章 场景编辑器 102
    8.1 开始 103
    8.1.1 材质图册简介 104
    8.2 开始使用场景编辑器 105
    8.2.1 Object Library 106
    8.2.2 添加和放置精灵 107
    8.2.3 布置第一个场景 108
    8.3 文件引用 110
    8.4 动画和动作引用 112
    给节点添加动作 113
    8.5 关于时间线的更多介绍 114
    重复动作 115
    8.6 挑战 118
    挑战1:进一步创建小猫动作 118
    挑战2:进一步创建小猫场景 120
    第9章 物理基础 122
    9.1 Sprite Kit中的物理引擎 122
    物理实体 123
    9.2 开始 124
    9.3 第一个Playground 126
    9.4 创建一个Sprite Kit Playground 127
    9.5 圆形实体 131
    9.6 边缘闭合实体 133
    9.7 矩形实体 134
    9.8 定制形状的实体 134
    9.9 可视化实体 135
    9.10 复杂形状的实体 136
    9.11 物理实体的属性 138
    9.12 应用冲击 139
    9.13 挑战 141
    挑战1:力量 141
    挑战2:体感实体 142
    第10章 中级物理 143
    10.1 开始 143
    10.2 定制节点类 144
    10.3 将精灵连接到变量 146
    10.4 添加物理 147
    10.4.1 在场景编辑器中创建简单
    实体 148
    10.4.2 模拟场景 149
    10.4. 3用代码创建简单实体 150
    10.4.4 创建定制实体 151
    10.5 SKTUtils简介 151
    10.6 背景音乐 152
    10.7 控制实体 152
    10.7.1 分类实体 153
    10.7.2 处理触摸 155
    10.7.3 检测实体之间的碰撞 157
    10.7.4 检测实体之间的接触 159
    10.8 最终修改 161
    10.8.1 添加一条游戏进行中的消息 161
    10.8.2 失败场景 162
    10.8.3 播放动画 164
    10.8.4 获胜场景 165
    10.9 挑战 166
    挑战1:统计弹跳次数 167
    第11章 高级物理 168
    11.1 Spirt Kit游戏循环第3轮 168
    11.2 关卡2简介 170
    11.3 加载关卡 171
    11.4 场景编辑器,第2轮 171
    11.4.1 弹弓 174
    11.5 接合概览 175
    11.5.1 固定接合 175
    11.5.2 有限接合 176
    11.5.3 弹性接合 176
    11.5.4 别针接合 177
    11.5.5 滑动接合 177
    11.6 接合的应用 178
    11.6.1 使用固定接合 178
    11.6.2 使用弹性接合 180
    11.7 Sprite Kit游戏循环,第4轮 181
    11.8 限制概览 182
    11.8.1 实现绳子的限制 183
    11.8.2 更多限制 184
    11.9 动态地创建和删除接合 184
    11.10 组合形状 187
    11.10.1 设计关卡3 188
    11.10.2 创建组合对象 189
    11.11 关卡推进 192
    11.12 挑战 192
    挑战1:给Cat Nap再添加一个关卡 193
    第12章 裁剪、视频和形状节点 195
    12.1 开始 196
    12.2 裁剪节点 196
    12.3 视频节点 200
    12.3.1 创建一个视频节点 200
    12.3.2 视频播放 202
    12.3.3 开始和结束 204
    12.3.4 迪斯科舞小猫 206
    12.4 形状节点 208
    12.4.1 添加一个形状节点 209
    12.4.2 形状节点基础 210
    12.4.3 添加提示箭头 211
    12.5 挑战 214
    挑战1:提示无处不在 214
    挑战2:当fillColor遇到fillTexture 214
    第13章 中级tvOS 215
    13.1 添加一个tvOS目标 215
    上架图像和3D图标 216
    13.2 将代码移植到tvOS 218
    13.3 Apple TV遥控,第2轮 220
    13.3.1 TV控制第1部分:谁应该采取
    行动 220
    13.3.2 TV控制第2部分:停留在循
    环中 222
    13.3.3 和Apple TV模拟器交互 225
    13.3.4 TV控制第3部分:点击所有
    内容 226
    13.4 挑战 227
    挑战1:打磨Apple TV上的所有关卡 227

    第三部分 果 汁

    第14章 开发Drop Charge 232
    14.1 开始 232
    添加图片 233
    14.2 在场景编辑器中构建游戏世界 234
    14.2.1 配置场景 234
    14.2.2 添加背景精灵 234
    14.2.3 添加前景精灵 236
    14.2.4 创建平台 236
    14.2.5 创建金币 237
    14.3 编写游戏设置代码 238
    14.3.1 添加平台 238
    14.3.2 更多平台 241
    14.3.3 扔炸弹 241
    14.3.4 获取物理效果 242
    14.3.5 碰撞检测 243
    14.3.6 使用Core Motion来控制玩家 244
    14.3.7 相机跟踪 245
    14.3.8 让岩浆流动 247
    14.3.9 重复背景、金币和平台 249
    14.3.10 还有一件事情 249
    14.4 挑战 250
    挑战1:创建跨5块的、可破裂的
    平台 250
    挑战2:创建一个“特殊的”金币
    箭头 250
    挑战3:创建额外的平台和金币
    样式 251
    挑战4:为新的覆盖对象添加代码 252
    第15章 状态机 254
    15.1 状态机是如何工作的 254
    15.2 开始 256
    15.3 状态1:等待点击 256
    15.4 状态2:等待炸弹 257
    15.5 状态3:玩游戏 259
    更新游戏设置 260
    15.6 状态4:游戏结束 261
    15.7 最后修改 262
    15.8 挑战 263
    挑战1:一个英雄状态机 263
    第16章 粒子系统 265
    16.1 粒子系统是如何工作的 266
    16.1.1 粒子系统理论 266
    16.1.2 粒子系统的实际应用 266
    16.2 粒子系统编程 267
    16.2.1 粒子系统的核心属性 268
    16.2.2 让模拟提前进行 270
    16.2.3 粒子系统的更多核心属性 271
    16.2.4 范围属性 271
    16.2.5 关键帧属性 271
    16.2.6 序列属性 272
    16.3 可视化地创建粒子系统 273
    16.3.1 创建一个SKS文件 273
    16.3.2 Xcode粒子发射器编辑器 274
    16.3.3 制作岩浆 275
    16.3.4 加载SKS文件 276
    16.3.5 持续的系统和运行一次的
    系统 277
    16.3.6 哪里有火,哪里就会有烟 277
    16.3.7 目标粒子系统 279
    16.4 挑战 280
    挑战1:收集常规金币的效果 280
    挑战2:收集特殊金币的效果 280
    挑战3:破裂平台效果 280
    挑战4:玩家轨迹效果 280
    第17章 点亮游戏 282
    17.1 给游戏添加果汁的3个步骤 283
    17.1.1 步骤1:角色 283
    17.1.2 步骤2:交互 283
    17.1.3 步骤3:5种基本的特效 284
    17.2 开始 285
    17.3 音乐和声音效果 285
    17.3.1 创建变化的节奏 286
    17.3.2 添加声音效果 286
    17.3.3 最后的声音效果 288
    17.4 帧动画 289
    17.4.1 可视化地创建动作 289
    17.4.2 通过时间线编辑 290
    17.4.3 使用金币应用 291
    17.4.4 用代码实现动画动作 292
    17.5 粒子效果 294
    17.5.1 随机爆炸 295
    17.5.2 增加力量粒子效果 296
    17.5.3 游戏结束了 297
    17.6 屏幕效果 297
    振动、振动,还是振动 298
    17.7 精灵效果 299
    弹跳的平台 300
    17.8 最后的修改 301
    17.9 挑战 302
    挑战1:创建一个“挤压和拉伸”效果 302
    挑战2:将Drop Charge移植到tvOS上 302
    17.10 如何继续学习 302

    第四部分 GameplayKit

    第18章 实体-组件系统 304
    18.1 开始 304
    18.1.1 游戏层 305
    18.1.2 材质图册 305
    18.2 GameplayKit简介 306
    18.3 实体-组件系统 307
    18.4 GameplayKit的实体-组件系统 308
    18.5 第一个组件 308
    18.6 第一个实体 309
    18.7 将实体添加到场景 310
    18.8 阴影组件 312
    18.9 动画组件 313
    18.9.1 GKComponentSystem 316
    18.9.2 添加到实体 317
    18.10 重用组件 318
    18.11 发射组件 320
    发射炮弹 322
    18.12 挑战 324
    挑战1:生命值组件 325
    第19章 寻路算法 328
    19.1 GameplayKit中的寻路 328
    19.1.1 基于网格的寻路 328
    19.1.2 基于障碍物的寻路 329
    19.2 塔防障碍物 329
    打开GameScene.sks 329
    19.3 塔防选择器动画 332
    19.4 选择塔防 334
    19.5 显示菜单 335
    19.6 放置塔防 336
    19.7 创建障碍物图形 337
    19.8 将塔防添加到障碍物图形 337
    19.9 用寻路算法移动实体 338
    19.10 挑战 341
    挑战1:更多障碍物 341
    挑战2:精灵的Z位置 344
    第20章 代理、目标和行为 346
    20.1 GameplayKit的代理、目标和行为 346
    20.2 添加代理 347
    20.3 添加行为和目标 348
    20.4 在代理上设置行为 349
    实现GKAgentDelegate 351
    20.5 音乐插曲 352
    20.6 攻击波 352
    20.6.1 发送攻击波 354
    20.6.2 随机选取起始位置 355
    20.6.3 从攻击波中删除恐龙 356
    20.7 HUD 358
    20.8 减少生命数 359
    20.9 花钱建造塔防 360
    20.10 减慢速度效果 361
    20.11 挑战 364
    挑战1:TV版的Dino Defense 364

    第五部分 高 级 话 题

    第21章 贴图地图游戏 366
    21.1 Delve简介 366
    21.2 开始 367
    21.2.1 开始关卡构建 368
    21.2.2 创建一个基本的关卡 369
    21.2.3 显示关卡 369
    21.2.4 添加一个相机节点 371
    21.3 打造一个基于贴图的关卡 372
    预先设置关卡 374
    21.4 实现状态机 375
    21.5 游戏需要一个英雄人物 377
    21.5.1 创建精灵组件 378
    21.5.2 将英雄添加到场景中 378
    21.5.3 创建动画组件 380
    21.5.4 添加组件系统 384
    21.5.5 让英雄移动起来 385
    21.5.6 通过倾斜来移动 387
    21.5.7 更新动画 389
    21.5.8 将相机聚焦到英雄身上 390
    21.5.9 添加碰撞 390
    21.6 挑战 392
    挑战1:定制关卡 392
    第22章 随机性 393
    22.1 随机意味着什么 393
    22.2 GameplayKit的随机性 394
    22.2.1 随机性分布 394
    22.2.2 随机性源 396
    22.3 醉汉行走算法 397
    22.4 开始 397
    22.5 实现醉汉行走算法 401
    22.5.1 更新地图生成器 402
    22.5.2 到达出口 404
    22.6 制作更好的关卡 406
    组合分布 408
    22.7 挑战 411
    挑战1:随机贴图 411
    第23章 程序式关卡 412
    23.1 基于房间的程序式关卡设计 412
    23.2 构建更好的生成器 413
    构建房间 413
    23.3 填充地牢 417
    23.3.1 处理生命值 418
    23.3.2 引入石人 420
    23.3.3 创建一个武器 427
    23.4 挑战 431
    挑战1:难度 432
    第24章 游戏控制器 433
    24.1 控制器格式 434
    24.2 开始 434
    24.3 创建控制器管理器 436
    24.3.1 指定控制 439
    24.3.2 标准游戏手柄 440
    24.3.3 使用控制器命令 440
    24.3.4 移动控制 442
    24.3.5 扩展游戏手柄 443
    24.4 添加tvOS目标 444
    24.5 在tvOS上支持控制器 446
    24.5.1 连接到控制器 447
    24.5.2 微游戏手柄 447
    24.5.3 绑定控制 449
    24.6 挑战 450
    挑战1暂停游戏 450

    第六部分 额 外 章 节

    第25章 Game Center成就 452
    25.1 开始 452
    25.2 Game Center简介 453
    25.3 配置App以使用Game Center 454
    25.3.1 打开Game Center 455
    25.3.2 在iTune Connect上注册App 455
    25.3.3 配置Game Center成就 457
    25.4 认证本地玩家 459
    25.4.1 认证回调 460
    25.4.2 将认证加入到游戏中 460
    25.5 添加成就 463
    25.5.1 为成就创建一个辅助类 463
    25.5.2 将成就整合到游戏中 464
    25.6 初始化内建的用户界面 466
    将UI加入到游戏中 467
    25.7 挑战 469
    挑战1:Racing addict和成就 469
    第26章 Game Center排行榜 470
    26.1 支持排行榜 470
    26.1.1 步骤1:认证本地玩家 470
    26.1.2 步骤2:创建一个排行榜
    策略 470
    26.1.3 步骤3:在iTunes Connect中
    配置排行榜 471
    26.1.4 步骤4:向Game Center报告
    得分 474
    26.1.5 步骤5:向玩家显示排行榜 476
    26.2 排行榜集合 477
    26.3 Game Center的安全性 479
    26.3.1 提交如何工作 480
    26.3.2 限制作弊 480
    26.4 挑战 480
    挑战1:排行榜集合 480
    第27章 ReplayKit 481
    27.1 ReplayKit架构 481
    27.2 整合ReplayKit 482
    27.2.1 步骤1:创建一个策略来开始和
    停止记录 483
    27.2.2 步骤2:修改用户界面 484
    27.2.3 步骤3:检查可用性 488
    27.2.4 步骤4:开始和停止记录 491
    27.2.5 步骤5:预览和分享记录 496
    第28章 iAd 498
    28.1 iAd简介 498
    28.2 iAd是如何工作的 498
    28.3 Ad格式 499
    28.3.1 横幅广告 499
    28.3.2 间隙广告 500
    28.3.3 媒介反馈广告 501
    28.3.4 预滚动广告 501
    28.4 整合iAd 501
    28.5 加入iAd网络 501
    28.6 加入iAd框架 502
    28.7 显示横幅广告 504
    28.8 显示间隙广告 506
    28.9 iAd最佳实践 507
    28.10 挑战 507
    挑战1:自动显示 507
    第29章 写给程序员的2D美工知识 508
    29.1 选择路径:雇人还是DIY 508
    29.1.1 雇佣一名美术师 508
    29.1.2 自己做美工 508
    29.2 如何找到并雇佣一位美术师 509
    29.2.1 会议和聚会 509
    29.2.2 Twitter 509
    29.2.3 搜索简历 509
    29.2.4 招募申请者 510
    29.2.5 这真的有用吗 510
    29.3 向美术师付酬 510
    29.3.1 收入分成合同 510
    29.3.2 固定报酬合同和分小时报酬 510
    29.3.3 价格预期 511
    29.4 开始 511
    29.5 开始绘制草图 512
    29.6 将草图导入到Illustrator中 515
    29.7 用矢量线条描摹草图 517
    29.7.1 编辑路径 519
    29.7.2 创建复杂的线条 519
    29.7.3 将线条的末端圆角化 520
    29.7.4 完成轮廓 520
    29.8 定制画笔宽度 520
    29.8.1 为Illustrator创建一个默认的
    宽度样式 521
    29.8.2 针对不同的线条形状,使用
    其他的宽度样式 521
    29.9 给美工图上色 522
    29.9.1 使用路径寻找器来组合
    形状 524
    29.9.2 给眼睛上色 525
    29.9.3 为某个区域上色 526
    29.9.4 关于图层的一点说明 527
    29.9.5 调整对象层的顺序 528
    29.10 关于阴影和光线 529
    29.10.1 表现深度的额外阴影细节 530
    29.10.2 给轮廓上色 531
    29.11 导出PNG文件 532
    29.12 挑战 534
    挑战1:老鼠 534
    挑战2:小狗 534
查看详情
您可能感兴趣 / 更多
iOS和tvOS 2D游戏开发教程
iOS黑客攻防秘籍 第2版
陈德
iOS和tvOS 2D游戏开发教程
iOS编程(第6版)
[美]Aaron Hillegass 著;王凤全 译;[美]Christian Keur
iOS和tvOS 2D游戏开发教程
iOS开发基础教程(Swift版)(第2版)
陈志峰;田英;翟高粤
iOS和tvOS 2D游戏开发教程
iOS开发案例教程(swift版)
孙志敏 田英
iOS和tvOS 2D游戏开发教程
iOS应用开发教程(微课视频版)
罗良夫
iOS和tvOS 2D游戏开发教程
iOS全埋点解决方案
王灼洲 著
iOS和tvOS 2D游戏开发教程
iOS 14开发指南
管蕾
iOS和tvOS 2D游戏开发教程
iOS应用逆向与安全之道
罗巍 著
iOS和tvOS 2D游戏开发教程
iOS项目开发实战(高等职业教育移动互联应用技术专业教材)
赵善龙 、刘俊驰 主编
iOS和tvOS 2D游戏开发教程
iOS开发基础入门与实战
张运生 著;郭敏强、蔡铁、郭敏强、蔡铁、张运生 编
iOS和tvOS 2D游戏开发教程
iOS面试一战到底
张益珲 著
iOS和tvOS 2D游戏开发教程
iOS程序员面试笔试真题库
蒋信厚 汪小发 楚秦
系列丛书 / 更多
iOS和tvOS 2D游戏开发教程
iOS黑客攻防秘籍 第2版
陈德
iOS和tvOS 2D游戏开发教程
iOS编程(第6版)
[美]Aaron Hillegass 著;王凤全 译;[美]Christian Keur
iOS和tvOS 2D游戏开发教程
iOS开发基础教程(Swift版)(第2版)
陈志峰;田英;翟高粤
iOS和tvOS 2D游戏开发教程
iOS开发案例教程(swift版)
孙志敏 田英
iOS和tvOS 2D游戏开发教程
iOS应用开发教程(微课视频版)
罗良夫
iOS和tvOS 2D游戏开发教程
iOS全埋点解决方案
王灼洲 著
iOS和tvOS 2D游戏开发教程
iOS 14开发指南
管蕾
iOS和tvOS 2D游戏开发教程
iOS应用逆向与安全之道
罗巍 著
iOS和tvOS 2D游戏开发教程
iOS项目开发实战(高等职业教育移动互联应用技术专业教材)
赵善龙 、刘俊驰 主编
iOS和tvOS 2D游戏开发教程
iOS开发基础入门与实战
张运生 著;郭敏强、蔡铁、郭敏强、蔡铁、张运生 编
iOS和tvOS 2D游戏开发教程
iOS面试一战到底
张益珲 著
iOS和tvOS 2D游戏开发教程
iOS程序员面试笔试真题库
蒋信厚 汪小发 楚秦
相关图书 / 更多
iOS和tvOS 2D游戏开发教程
iOS黑客攻防秘籍 第2版
陈德
iOS和tvOS 2D游戏开发教程
iOS编程(第6版)
[美]Aaron Hillegass 著;王凤全 译;[美]Christian Keur
iOS和tvOS 2D游戏开发教程
iOS开发基础教程(Swift版)(第2版)
陈志峰;田英;翟高粤
iOS和tvOS 2D游戏开发教程
iOS开发案例教程(swift版)
孙志敏 田英
iOS和tvOS 2D游戏开发教程
iOS应用开发教程(微课视频版)
罗良夫
iOS和tvOS 2D游戏开发教程
iOS全埋点解决方案
王灼洲 著
iOS和tvOS 2D游戏开发教程
iOS 14开发指南
管蕾
iOS和tvOS 2D游戏开发教程
iOS应用逆向与安全之道
罗巍 著
iOS和tvOS 2D游戏开发教程
iOS项目开发实战(高等职业教育移动互联应用技术专业教材)
赵善龙 、刘俊驰 主编
iOS和tvOS 2D游戏开发教程
iOS开发基础入门与实战
张运生 著;郭敏强、蔡铁、郭敏强、蔡铁、张运生 编
iOS和tvOS 2D游戏开发教程
iOS面试一战到底
张益珲 著
iOS和tvOS 2D游戏开发教程
iOS程序员面试笔试真题库
蒋信厚 汪小发 楚秦