iOS 和 tvOS 2D 遊戲開發教程 iOS和tvOS 2D游戏开发教程

美國raywenderlich.com教程開發組

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

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 SpriteKit遊戲循環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 SpriteKit遊戲循環第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給ZombieConga添加一個標籤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 ObjectLibrary 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 SpriteKit中的物理引擎122 
物理實體123 
9.2開始124 
9.3第一個Playground 126 
9.4創建一個SpriteKitPlayground 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 SpirtKit遊戲循環第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 SpriteKit遊戲循環,第4輪181 
11.8限制概覽182 
11.8.1實現繩子的限制183 
11.8.2更多 制184 
11.9動態地創建和刪除接合184 
11.10組合形狀187 
11.10.1設計關卡3188 
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 AppleTV遙控,第2輪220 
13.3.1 TV控制第1部分:誰應該採取行動220 
13.3.2 TV控制第2部分:停留在循環中222 
13.3.3和AppleTV模擬器交互225 
13.3.4 TV控制第3部分:點擊所有內容226 
13.4挑戰227 
挑戰1:打磨Apple TV上的所 有關卡227 
第三部分果汁
第14章開發DropCharge 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使用CoreMotion來控制玩家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:遊戲結束26 1 
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 

 


第五部分高級話題


第21章貼圖地圖遊戲366 
第22章隨機性393 
第23章程序式關卡412 
第24章遊戲控制器433 
第六部分額外章節
第25章GameCenter成就452 
第26章GameCenter排行榜470 
第27章ReplayKit 481 
第28章iAd 498 
第29章寫給程序員的2D美工知識508