iOS和tvOS 2D遊戲開發教程

iOS和tvOS 2D遊戲開發教程

《iOS和tvOS 2D遊戲開發教程》是2017年2月人民郵電出版社出版的圖書,作者是[美]raywenderlich教程開發組。

基本介紹

  • 中文名:iOS和tvOS 2D遊戲開發教程
  • 作者:[美]raywenderlich教程開發組
  • ISBN:9787115442963
  • 頁數:534頁
  • 定價:109元
  • 出版社:人民郵電出版社
  • 出版時間:2017年2月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

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上的遊戲開發感興趣的初學者閱讀參考。

圖書目錄

第 一部分 基 礎 知 識
第 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

相關詞條

熱門詞條

聯絡我們