關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
Swift游戲開(kāi)發(fā)經(jīng)典實(shí)例(第三版)
·設(shè)計(jì)游戲架構(gòu),組織游戲內(nèi)容。 ·用UIKit編寫(xiě)界面、定制菜單。 ·讓游戲能夠檢測(cè)和響應(yīng)用戶(hù)輸入。 ·使用音效、音樂(lè)和語(yǔ)音合成。 ·通過(guò)iCloud存儲(chǔ)和訪(fǎng)問(wèn)數(shù)據(jù)。 ·用SpriteKit創(chuàng)建2D圖形及動(dòng)畫(huà)。 ·用物理引擎模擬真實(shí)世界。 ·用SceneKit創(chuàng)建和繪制3D場(chǎng)景。 ·設(shè)計(jì)AI系統(tǒng)進(jìn)行用戶(hù)測(cè)試。 ·添加游戲控制,擴(kuò)展顯示器以及增強(qiáng)現(xiàn)實(shí)。
想編寫(xiě)出精彩的iOS游戲嗎?使用蘋(píng)果的Swift編程語(yǔ)言,這是無(wú)可比擬的簡(jiǎn)單。本書(shū)詳細(xì)介紹了iOS 游戲開(kāi)發(fā)中遇到的各種問(wèn)題,從架構(gòu)設(shè)計(jì)到圖形性能,所有內(nèi)容都升級(jí)到了新的Swift版本。 這是一次全新的升級(jí),將讓你對(duì)iOS游戲開(kāi)發(fā)中遇到的常見(jiàn)問(wèn)題獲得簡(jiǎn)單、直接的答案。想知道如何讓物理對(duì)象移動(dòng)或者補(bǔ)習(xí)一下游戲方面的數(shù)學(xué)知識(shí)嗎?本書(shū)給出了示例代碼和答案。只要你擁有一定的iOS開(kāi)發(fā)和Swift基礎(chǔ)即可。 前言 如今,移動(dòng)設(shè)備已被各種游戲占領(lǐng)。iPhone、iPad 和iPod touch 都是非常強(qiáng)大的游戲平臺(tái),要做出讓玩家眼前一亮的游戲從沒(méi)有像現(xiàn)在這樣容易。在iTunesApp Store 中,數(shù)量最多的App 就是游戲,從簡(jiǎn)單的“一分鐘的”方塊游戲到復(fù)雜的長(zhǎng)期冒險(xiǎn)游戲。因此,現(xiàn)在就是制作你個(gè)人專(zhuān)屬游戲的最佳時(shí)機(jī)。自從有了App Store,我們就一直在做iOS 游戲。當(dāng)時(shí),我們發(fā)行了第一個(gè)iOS 策略游戲Culture,之后又制作了數(shù)以百計(jì)的游戲,種類(lèi)涉及了古老的填數(shù)字游戲到兒童益智游戲的各種類(lèi)別,F(xiàn)在,在iOS 平臺(tái)上運(yùn)行的游戲越來(lái)越多。 本書(shū)對(duì)Swift 游戲開(kāi)發(fā)中遇到的常見(jiàn)問(wèn)題提供了簡(jiǎn)單直接的解決方案。無(wú)論你是想知道如何使物體移動(dòng),還是想補(bǔ)習(xí)一下游戲中的數(shù)學(xué)知識(shí),你都能找到簡(jiǎn)單直白的答案、解釋和示例代碼。本書(shū)既是一本教程,也是一本參考書(shū)。通過(guò)本書(shū),你可以從一系列的“問(wèn)與答”中輕松地汲取到新的、正確的知識(shí),也可以快速地從目錄的某個(gè)標(biāo)題中找到現(xiàn)成答案。 本書(shū)的讀者對(duì)象 我們假設(shè)讀者具備一定的編程技巧,至少在一定程度上了解iOS 開(kāi)發(fā):熟悉Xcode開(kāi)發(fā)環(huán)境,會(huì)使用iOS 模擬器,懂得基本的Swift 語(yǔ)法。同時(shí)懂得如何使用iOS 設(shè)備。不需要你具備任何游戲開(kāi)發(fā)知識(shí),但至少對(duì)于你想創(chuàng)建什么樣的游戲要有一個(gè)大概的認(rèn)識(shí)。 你會(huì)發(fā)現(xiàn)本書(shū)的內(nèi)容對(duì)所有類(lèi)型的游戲都適用,當(dāng)然也會(huì)有一些例外,有的技巧更適合某種游戲一些。但總體上來(lái)說(shuō),本書(shū)不是專(zhuān)門(mén)針對(duì)特定種類(lèi)的游戲而編寫(xiě)的。 本書(shū)的主要內(nèi)容 本書(shū)的每一章是由多個(gè)“技巧”構(gòu)成:每一個(gè)“問(wèn)題”都是你在游戲開(kāi)發(fā)中有可能遇到的問(wèn)題以及它的快捷解決方案。本書(shū)可以以任意順序閱讀,你不需要一章接一章地閱讀,也不需要把每一章都從頭到尾讀完(但我們?nèi)匀唤ㄗh你按順序閱讀,否則你可能跳過(guò)了某些關(guān)鍵的內(nèi)容)。 每個(gè)“技巧”中包括相關(guān)問(wèn)題的陳述和解決方案,即解決問(wèn)題所采用的技術(shù)(或者功能的實(shí)現(xiàn))。在此之后是問(wèn)題討論,更詳細(xì)地討論問(wèn)題的解決辦法,使讀者更加理解方案的實(shí)現(xiàn)細(xì)節(jié),注意事項(xiàng)以及其他相關(guān)知識(shí)。 各章內(nèi)容簡(jiǎn)要介紹如下: 第1 章,游戲的設(shè)計(jì) 討論游戲的整體架構(gòu)和代碼組織的不同方法,定時(shí)器的各種用法,以及iOS 的塊語(yǔ)法。還會(huì)學(xué)習(xí)如何通過(guò)塊和Operation Queue 來(lái)調(diào)度任務(wù),以便讓它們?cè)趯?lái)某個(gè)時(shí)候執(zhí)行;并學(xué)習(xí)如何在項(xiàng)目中進(jìn)行單元測(cè)試。 第2 章,視圖和菜單 介紹UI 以及如何利用iOS 自帶的UIKit 現(xiàn)實(shí)用戶(hù)圖形界面。除了內(nèi)置的GUI對(duì)象,如按鈕、文本框之外,UIKit 也可以按需定制,對(duì)于某些游戲來(lái)說(shuō),UIKit 可能是你唯一需要使用的圖形界面設(shè)計(jì)工具。 第3 章,輸入 你將學(xué)習(xí)如何從用戶(hù)獲取輸入并在游戲中使用這些數(shù)據(jù),包括屏幕觸摸、手勢(shì)的判斷(如輕觸、滑動(dòng)和捏合),以及其他輸入方式,比如用戶(hù)當(dāng)前位置,或者從設(shè)備內(nèi)置的各種傳感器中獲取數(shù)據(jù)。 第4 章,聲音 討論聲效和音樂(lè)的使用。你將學(xué)習(xí)到如何加載和播放音頻文件,如何訪(fǎng)問(wèn)用戶(hù)內(nèi)置的音樂(lè)庫(kù),以及如果用戶(hù)想在玩游戲的同時(shí)聽(tīng)到他最喜歡歌曲,我們要怎么辦。 第5 章,存儲(chǔ)數(shù)據(jù) 討論和存儲(chǔ)相關(guān)的內(nèi)容。游戲過(guò)程中,或多或少需要保存一些數(shù)據(jù),有的數(shù)據(jù)比較少(如當(dāng)前得分),有的數(shù)據(jù)量一般(如游戲存檔),有的數(shù)據(jù)量非常大(如游戲中用到的各種多媒體資源)。在本章,你將學(xué)習(xí)到各種存儲(chǔ)數(shù)據(jù)的方法,以及它們所適用的最佳場(chǎng)景。 第6 章,2D 圖形和Sprite Kit 討論iOS 自帶的2D 圖形庫(kù)Sprite Kit。Sprite Kit 功能強(qiáng)大,易于使用。在本章你將學(xué)習(xí)如何創(chuàng)建場(chǎng)景,如何使精靈動(dòng)起來(lái),以及如何使用貼圖和圖片。本章還會(huì)介紹一些常用的2D 數(shù)學(xué)運(yùn)算技能。 第7 章,物理學(xué) 你將學(xué)習(xí)如何使用Sprite Kit 中的2D 物理引擎。物理引擎使游戲中的物體能夠像在真實(shí)世界中一樣移動(dòng),能使我們以很少的代碼實(shí)現(xiàn)許多精彩的效果。你將學(xué)習(xí)如何使用物理體、節(jié)點(diǎn)和作用力,以及如何使物理引擎接受用戶(hù)的輸入的控制。 第8 章,Scene Kit 介紹Scene Kit,即蘋(píng)果新的3D 框架,包括用Scene Kit 顯示3D 對(duì)象,鏡頭的使用、紋理以及3D 物理引擎。 第9 章,人工智能和行為 討論如何使游戲?qū)ο蟾又悄,以及和玩家交互。你將學(xué)習(xí)如何讓對(duì)象互相追逐,讓對(duì)象躲避某些東西,以及在避開(kāi)障礙物的同時(shí)算出兩點(diǎn)之間的路徑。你還會(huì)學(xué)到如何通過(guò)Core ML 和Vision 檢測(cè)鏡頭中看到的對(duì)象。 第10 章,使用外設(shè) 討論游戲和外界交互的方法:外加顯示器,如電視機(jī)和顯示器;提供額外輸入方式的游戲控制器,如手柄和物理按鍵;相機(jī)等。你會(huì)學(xué)到當(dāng)接入外部硬件時(shí)如何檢測(cè)、使用它們,使游戲充分發(fā)揮硬件所帶來(lái)的好處。并學(xué)習(xí)如何使用ARKit 實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)。 第11 章,性能和調(diào)試 本書(shū)最后一章介紹如何提升游戲性能和穩(wěn)定性。你將學(xué)習(xí)如何使用Xcode 的高級(jí)調(diào)試功能,如何使用壓縮紋理以節(jié)省內(nèi)存,以及如何讓游戲加載得更快。 其他資源 本書(shū)源代碼可在此處下載(或者利用GitHub 的fork 功能進(jìn)行克。篽ttp://www.secretlab.com.au/books/ios-game-dev-cookbook-swift。 O’Reilly 還有許多關(guān)于游戲開(kāi)發(fā)和軟件開(kāi)發(fā)的書(shū)(有一般的,也有iOS 的),也許會(huì)對(duì)iOS 游戲開(kāi)發(fā)人員會(huì)有用,例如: ?? Physics for Game Developers。 ?? Learning Cocoa with Objective-C(與本書(shū)同一作者)。 ?? Swift Development with Cocoa(與本書(shū)同一作者)。 ?? Programming iOS 8。 我們強(qiáng)烈建議你將Gamasutra(http://gamasutra.com/)加到你的常用閱讀列表中去,因?yàn)樗w了許多高質(zhì)量的游戲行業(yè)動(dòng)態(tài)。 游戲設(shè)計(jì)師Marc LeBlanc 的個(gè)人網(wǎng)站(http://8kindsoffun.com/),站長(zhǎng)搜集了許多演講、筆記和短文。我們發(fā)現(xiàn)這是一個(gè)充滿(mǎn)創(chuàng)意的地方。 最后不得不提到我們自己的博客(http://secretlab.com.au/)。 本書(shū)的排版約定 本書(shū)使用如下的排版約定: 斜體(Italic) 表示新出現(xiàn)的術(shù)語(yǔ)、URL、email 地址、文件名及擴(kuò)展名。 等寬字體(Constant width) 表示程序片段,以及書(shū)中出現(xiàn)的變量、函數(shù)名、數(shù)據(jù)庫(kù)、數(shù)據(jù)類(lèi)型、環(huán)境變量、 語(yǔ)句和關(guān)鍵字等。 加粗等寬字體(Constant width bold) 表示應(yīng)該由用戶(hù)輸入的命令或其他文本。 等寬斜體(Constant width italic) 表示應(yīng)該由用戶(hù)輸入的值或根據(jù)上下文確定的值替換的文本。 使用示例代碼 本書(shū)附加的材料(示例代碼、練習(xí)等)在此處下載:http://www.secretlab.com.au/books/ios-game-dev-cookbook-swift。 本書(shū)的最終目的是為了幫助大家完成自己的工作。因此,本書(shū)中所有示例代碼你都可以在自己的程序和文檔中引用。使用這些代碼,并不需要經(jīng)過(guò)作者的授權(quán),但如果大量復(fù)制本書(shū)代碼則另當(dāng)別論。例如,僅從本書(shū)中復(fù)制幾段代碼用在自己的程序中無(wú)需經(jīng)過(guò)授權(quán),但將O’Reilly 書(shū)籍中的示例程序用于出售或復(fù)制成光盤(pán)則需要授權(quán);卮鹚藛(wèn)題時(shí),引用本書(shū)內(nèi)容或示例代碼也無(wú)需授權(quán)。但如果是將本書(shū)大量示例代碼放入你的產(chǎn)品文檔中,則需經(jīng)過(guò)授權(quán)。 如果你在代碼中保留我們的版權(quán)聲明,我們會(huì)十分感激,但這并不是必須的。完整的版權(quán)聲明應(yīng)該包含書(shū)名、作者、出版社以及ISBN。例如:“iOS Swift Game Development Cookbook by Jonathon Manning and Paris Buttfield-Addison (O’Reilly).Copyright 2015 Secret Lab, 978-1-449-92080-0”。 如果使用代碼時(shí),超出了上述聲明中的許可范圍,請(qǐng)隨時(shí)聯(lián)系我們:permissions@oreilly.com。 O’Reilly Safari Safari(以前是Safari Books Online)是一個(gè)面向企業(yè)、政府、教育工作者和個(gè)人的會(huì)員制培訓(xùn)和參考平臺(tái)。 會(huì)員可訪(fǎng)問(wèn)來(lái)自250 多家出版商的數(shù)千本書(shū)籍、培訓(xùn)視頻、學(xué)習(xí)路徑、互動(dòng)教程和精選播放列表,包括O’Reilly Media,Harvard Business Review,Prentice Hall Professional,Addison-Wesley Professional,Microsoft Press,Sams,Que,Peachpit Press,Adobe,F(xiàn)ocal Press,Cisco Press,John Wiley & Sons,Syngress,Morgan Kaufmann,IBM Redbooks,Packt,Adobe Press,F(xiàn)T Press,Apress,Manning,New Riders,McGraw-Hill,Jones & Bartlett 和Course Technology 等。 更多信息,請(qǐng)?jiān)L問(wèn) http://oreilly.com/safari。 如何聯(lián)系我們 任何有關(guān)本書(shū)的意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系出版社。 美國(guó): O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中國(guó): 北京市西城區(qū)西直門(mén)南大街2 號(hào)成銘大廈C 座807 室(100035) 奧萊利技術(shù)咨詢(xún)(北京)有限公司 本書(shū)有一個(gè)專(zhuān)門(mén)的網(wǎng)頁(yè),在上面列出了本書(shū)的勘誤表、示例及其他附加信息。網(wǎng)址是:http://bit.ly/ios_game_dev_cookbook_swift。 對(duì)于本書(shū)的評(píng)論和技術(shù)性問(wèn)題,請(qǐng)發(fā)送電子郵件到:bookquestions@oreilly.com。 要了解更多 O’Reilly 圖書(shū)、培訓(xùn)課程、會(huì)議和新聞的信息,請(qǐng)?jiān)L問(wèn)以下網(wǎng)站: http://www.oreilly.com。 我們的Facebook:http://facebook.com/oreilly。 我們的Twitter:http://twitter.com/oreillymedia。 我們的YouTube:http://www.youtube.com/oreillymedia。 致謝 Jon 在此感謝他的父母和他的大家庭,感謝他們的大力支持。 Paris 在此感謝他的母親。不是因?yàn)槟赣H,他就不會(huì)做自己感興趣的事情,更不用說(shuō)寫(xiě)書(shū)了。 感謝本書(shū)編輯Rachel Roumeliotis,是她的技巧和忠告使本書(shū)得以完成。此外,作者在編寫(xiě)本書(shū)的過(guò)程中接觸過(guò)的所有O’Reilly 人員都是他們領(lǐng)域中的佼佼者。 非常感謝Tony Gray 和 AUC,他們給予我們和這里列舉的其他人極大的支持。如果不是Tony 和AUC 社區(qū),我們不會(huì)有機(jī)會(huì)進(jìn)入這個(gè)行業(yè)工作,更別說(shuō)寫(xiě)這本書(shū)了。抱歉,Tony,現(xiàn)在你也在寫(xiě)書(shū)了。 感謝Neal Goldstein,所有功勞和過(guò)失都給他,是他驅(qū)使我們進(jìn)入了一種瘋狂的寫(xiě)作狀態(tài)。 還要感謝Maclab 的那幫家伙[ 忘記了他們的名字,他們始終堅(jiān)持觀戰(zhàn)到Admiral Dolphin 團(tuán)隊(duì)獲得勝利的那一刻(Admiral Dolphin 團(tuán)隊(duì)曾獲得GovHack 2013 的“Bestuse of data.gov.au”獎(jiǎng),兩個(gè)作者都是該團(tuán)隊(duì)的成員)],以及Christopher Lueg 教授、Leonie Ellis 博士以及塔斯馬尼亞大學(xué)的所有人。在此向Mark Pesce 道歉,原因他懂的。 因?yàn)榉N種原因,還感謝 Mars G.、Tim N.、Dave J.、Rex S.、Nic W.、Andrew B.、Jess L.、Alec H.、Scott B、Bethany H.、Adam S. 以及Rebekah S.。特別要感謝蘋(píng)果公司辛勤工作的工程師、作家、藝術(shù)家和其他員工,沒(méi)有他們,這本書(shū)(以及許多其他的同類(lèi)書(shū))都不會(huì)存在。 最后,非常感謝你購(gòu)買(mǎi)了我們的書(shū),非常感謝!如果有任何反饋,請(qǐng)告訴我們。你可以給lab@secretlab.com 發(fā)郵件,或者在Twitter 聯(lián)系我們@thesecretlab。
Jonathon Manning是一位游戲設(shè)計(jì)師及程序員,他曾經(jīng)參與過(guò)多個(gè)項(xiàng)目,從一個(gè)關(guān)于貓的視頻游戲(獲得過(guò)BAFTA的獎(jiǎng)項(xiàng))到實(shí)時(shí)通信軟件客戶(hù)端。他的 Twitter是@desplesda。 Paris Buttfield-Addison是一位移動(dòng)應(yīng)用工程師、游戲設(shè)計(jì)師和熱衷于讓技術(shù)盡可能簡(jiǎn)單和吸引人的學(xué)者。他的Twitter是@parisba。 Jon和Paris是Secret Lab的聯(lián)合創(chuàng)始人,Secret Lab是位于澳大利亞塔斯馬尼亞的一家獨(dú)立游戲工作室。 目錄 前言 .1 第1 章 游戲的設(shè)計(jì) 9 1.1 設(shè)計(jì)游戲引擎 .9 1.2 創(chuàng)建基于繼承的設(shè)計(jì) 10 1.3 創(chuàng)建基于組件的設(shè)計(jì) 12 1.4 用 GameplayKit 創(chuàng)建基于組件的游戲設(shè)計(jì) 16 1.5 計(jì)算屏幕的幀刷新時(shí)間 18 1.6 進(jìn)入和退出游戲 .19 1.7 用定時(shí)器進(jìn)行游戲的刷新 22 1.8 每幀刷新 .23 1.9 游戲暫停 .24 1.10 記錄游戲時(shí)間 25 1.11 使用閉包 26 1.12 在方法中回調(diào)閉包 29 1.13 使用 Operation Queues .30 1.14 延遲執(zhí)行 32 1.15 串行執(zhí)行 33 1.16 通過(guò)閉包進(jìn)行數(shù)組的過(guò)濾 34 1.17 加載游戲資源 35 1.18 在游戲中使用單元測(cè)試 36 .19 二維網(wǎng)格 39 1.20 使用隨機(jī)數(shù) .40 1.21 編寫(xiě)狀態(tài)機(jī) .42 第2 章 視圖和菜單 . 46 2.1 使用故事板 47 2.2 創(chuàng)建視圖控制器 .53 2.3 通過(guò)Segue 導(dǎo)航到不同屏幕 60 2.4 使用布局約束進(jìn)行布局 65 2.5 導(dǎo)入圖片到項(xiàng)目 68 2.6 切割按鈕的背景圖片 70 2.7 用UIDynamics 創(chuàng)建動(dòng)畫(huà)視圖 71 2.8 用Core Animation 移動(dòng)圖片.74 2.9 旋轉(zhuǎn)圖片 75 2.10 實(shí)現(xiàn)視圖的彈起效果 77 2.11 用UIAppearance 主題化UI 樣式 79 2.12 對(duì)UIView 進(jìn)行3D 旋轉(zhuǎn) .80 2.13 在游戲內(nèi)容之上顯示菜單 83 2.14 創(chuàng)建高效的游戲菜單 84 第3 章 輸入 . 86 3.1 偵測(cè)觸摸 87 3.2 處理輕觸手勢(shì) .88 3.3 在屏幕上拖動(dòng)圖片 .90 3.4 識(shí)別旋轉(zhuǎn)手勢(shì) .92 3.5 識(shí)別捏合手勢(shì) 94 3.6 自定義手勢(shì) 96 3.7 在視圖的指定區(qū)域識(shí)別觸摸 .100 3.8 識(shí)別搖晃手勢(shì) 101 3.9 識(shí)別設(shè)備傾斜手勢(shì) .102 3.10 獲得指北針?lè)较?106 3.11 獲得用戶(hù)的位置 108 3.12 計(jì)算運(yùn)動(dòng)速度 112 3.13 計(jì)算用戶(hù)與目標(biāo)的距離 113 3.14 當(dāng)用戶(hù)進(jìn)入或離開(kāi)某個(gè)位置時(shí)獲得通知 . 114 3.15 通過(guò)地名獲得坐標(biāo) 118 3.16 通過(guò)坐標(biāo)獲得地名 119 3.17 將設(shè)備當(dāng)作方向盤(pán) 121 3.18 測(cè)量磁場(chǎng) 122 3.19 利用輸入改善游戲設(shè)計(jì) 124 第4 章 聲音 126 4.1 用 AVAudioPlayer 播放聲音 .126 4.2 用AVAudioRecorder 進(jìn)行錄音 .130 4.3 使用多個(gè)AVAudioPlayer .131 4.4 兩個(gè)聲音間的淡入淡出 133 4.5 合成語(yǔ)音 .136 4.6 獲知音樂(lè)程序當(dāng)前播放曲目 137 4.7 當(dāng)前曲目何時(shí)改變 .140 4.8 音樂(lè)回放控制 141 4.9 讓用戶(hù)選擇音樂(lè) 142 4.10 當(dāng)其他App 正在播放音樂(lè)時(shí)的操作 145 4.11 在游戲中使用哪種聲音播放模式最好 147 第5 章 存儲(chǔ)數(shù)據(jù) 148 5.1 保存游戲狀態(tài) 148 5.2 在本地保存游戲得分 .150 5.3 用 iCloud 保存游戲進(jìn)度 .151 5.4 使用iCloud 的鍵– 值存儲(chǔ) .157 5.5 何時(shí)使用文件,何時(shí)使用數(shù)據(jù)庫(kù) 159 5.6 管理資源集 160 5.7 用NSUserDefaults 存放數(shù)據(jù) .162 5.8 最佳數(shù)據(jù)存儲(chǔ)策略 .164 5.9 游戲中的財(cái)富值 .165 5.10 保存到CloudKit 166 5.11 向CloudKit 數(shù)據(jù)庫(kù)中添加記錄 .168 5.12 查詢(xún)CloudKit 數(shù)據(jù)庫(kù)中的記錄 .169 5.13 從CloudKit 數(shù)據(jù)庫(kù)中刪除記錄 .173 第6 章 2D 圖形和Sprite Kit 175 6.1 熟悉二維數(shù)學(xué) 176 6.2 創(chuàng)建Sprite Kit 視圖 183 6.3 創(chuàng)建場(chǎng)景 .184 6.4 加入精靈 187 6.5 文本精靈 .188 6.6 獲取有效字體 190 6.7 使用自定義字體 .191 6.8 場(chǎng)景切換 191 6.9 移動(dòng)精靈和標(biāo)簽 194 6.10 紋理貼圖精靈 197 6.11 紋理圖集 197 6.12 形狀節(jié)點(diǎn) 198 6.13 混合模式 200 6.14 對(duì)精靈使用濾鏡 .201 6.15 貝塞爾曲線(xiàn) 202 6.16 煙霧、火焰和粒子特效 204 6.17 抖動(dòng)屏幕 205 6.18 動(dòng)畫(huà)精靈 207 6.19 視差滾動(dòng) 208 6.20 噪聲圖 215 第7 章 物理學(xué) 217 7.1 物理學(xué)術(shù)語(yǔ)和定義 .217 7.2 為精靈添加物理特性 .219 7.3 靜止物體和運(yùn)動(dòng)物體 .220 7.4 定義碰撞體的形狀 .221 7.5 速度 224 7.6 質(zhì)量、大小和密度 .224 7.7 創(chuàng)建墻壁 .226 7.8 設(shè)置重力 .227 7.9 讓物體無(wú)法旋轉(zhuǎn) .229 7.10 改變物理模擬世界的時(shí)鐘 .229 7.11 碰撞檢測(cè) 230 7.12 查找物體 231 7.13 連接 233 7.14 作用力 235 7.15 在物體上添加推進(jìn)器 .236 7.16 制造爆炸 237 7.17 根據(jù)設(shè)備方向改變重力 239 7.18 拖動(dòng)物體 241 7.19 創(chuàng)建車(chē)輛 243 第8 章 Scene Kit . 246 8.1 使用Scene Kit .246 8.2 創(chuàng)建一個(gè)Scene Kit 場(chǎng)景 247 8.3 顯示3D 對(duì)象 248 8.4 Scene Kit 的鏡頭 248 8.5 創(chuàng)建燈光 .249 8.6 移動(dòng) 251 8.7 使用文本節(jié)點(diǎn) 252 8.8 自定義材質(zhì) 252 8.9 紋理對(duì)象 .254 8.10 法向貼圖 254 8.11 約束對(duì)象 255 8.12 加載3D 模型文件 256 8.13 3D 物理學(xué) 257 8.14 反射 258 8.15 點(diǎn)擊測(cè)試 259 8.16 加載場(chǎng)景文件 .260 8.17 粒子系統(tǒng) 260 8.18 Metal 261 第9 章 人工智能和行為 263 9.1 Swift 使向量計(jì)算更輕松263 9.2 讓對(duì)象朝某個(gè)點(diǎn)移動(dòng) 266 9.3 跟隨路徑 .268 9.4 攔截運(yùn)動(dòng)物體 269 9.5 逃逸 270 9.6 目標(biāo)選擇問(wèn)題 271 9.7 轉(zhuǎn)向問(wèn)題 272 9.8 隱蔽點(diǎn)問(wèn)題 273 9.9 路徑算法 274 9.10 網(wǎng)格中的路徑查找 279 9.11 計(jì)算下一步問(wèn)題 280 9.12 判斷對(duì)象能否“看見(jiàn)”其他對(duì)象 281 9.13 用NSLinguisticTagger 作詞性標(biāo)注 .283 9.14 用 AVFoundation 框架訪(fǎng)問(wèn)相機(jī) 285 9.15 導(dǎo)入 Core ML 模型 288 9.16 識(shí)別圖片中的物體 289 9.17 用人工智能增強(qiáng)游戲設(shè)計(jì) 293 第10 章 使用外設(shè) 294 10.1 檢測(cè)控制器 .296 10.2 從游戲控制器中獲得輸入 298 10.3 通過(guò)AirPlay 顯示游戲內(nèi)容 .300 10.4 使用擴(kuò)展屏幕 301 10.5 為不同的屏幕適配UI 303 10.6 拖放 307 10.7 用 UIFeedbackGenerator 實(shí)現(xiàn)觸覺(jué)回饋 .313 10.8 用ReplayKit 記錄屏幕 315 10.9 用ARKit 顯示AR 畫(huà)面 .318 10.10 AR 場(chǎng)景的點(diǎn)擊測(cè)試 322 10.11 用 TestFight 測(cè)試 APP 325 10.12 用Fastlane 構(gòu)建和發(fā)布APP .326 第11 章 性能和調(diào)試 327 11.1 改善幀刷新率 .327 11.2 快速加載關(guān)卡 .330 11.3 解決內(nèi)存不足問(wèn)題 331 11.4 查找崩潰原因 .333 11.5 使用紋理壓縮 .334 11.6 使用watchpoint .338 11.7 記錄日志 339 11.8 創(chuàng)建語(yǔ)音斷點(diǎn) .340
你還可能感興趣
我要評(píng)論
|