前言
如今,移動設備已完全被各種遊戲所占領。 iPhone、 iPad和iPod touch都是傑齣的遊戲平颱,但是,要想做齣讓玩傢眼前一亮的遊戲已經不像當初那麼容易瞭。在iTunes App Store中,數量最多的App就是遊戲,從最簡單的益智遊戲到大型RPG遊戲。因此,現在就是製作你自己的遊戲的最佳時機。在2008年App Store上綫的時候,我們也曾經說過同樣的話。當時,我們發行瞭我們的第一個iOS遊戲Culture,這是一個策略遊戲。從此之後,我們製作瞭數以百計的遊戲,種類涉及瞭古老的填數字遊戲到兒童益智遊戲等各種類彆。現在,在iOS平颱上運行的遊戲是越來越多瞭。
本書介紹如何使用Swift語言開發iOS遊戲。對於開發中會遇到的各種有代錶性的問題,本書也會給齣簡單有效的解決方案。如果你正在為諸如“如何使物體移動?”,以及“如何與遊戲中心交互”之類的問題傷神,如果你正在想一個與遊戲有關的數學計算問題等,都可以在本書中找到簡單的、直白的答案和詳細解釋,甚至是示例代碼。本書既是一本教程,也是一本參考書。通過本書,你既可以從一係列的技巧中輕鬆地汲取到新的、正確的知識,也可以通過檢索它的目錄來快速找到現成答案。
讀者對象
我們假設讀者具備一定的編程技巧,至少在一定程度上瞭解iOS開發:熟悉Xcode開發環境,會使用iOS模擬器,懂得基本的Swift語法。同時懂得如何使用iOS設備。不需要你具備任何遊戲開發知識,但至少對於你想創建什麼樣的遊戲要有一個大概的認識。
你將發現本書內容對所有類型的遊戲都適用——當然也會有一些例外,有的技巧更適閤某種遊戲一些。但總體上來說,本書不是專門針對特定種類的遊戲而編寫的。
本書內容
本書的每一章是由一個個相對獨立的技巧組成的:每一個技巧都是在遊戲開發中有可能遇到的問題以及它的快捷解決方案。本書可以以任意順序閱讀,你不需要一章接一章地閱讀它,也不需要把每一章都從頭到尾讀完(但我們仍然建議你按順序閱讀,否則你可能跳過瞭某些關鍵的內容)。
每個技巧包括:相關問題的陳述,然後是解決方案,即解決問題所采用的技術(或者功能的實現)。在此之後是問題討論,更詳細地討論問題的解決辦法,使讀者更加理解方案的實現細節、注意事項以及其他相關知識。
各章內容簡要介紹如下:
第1章,討論如何設計遊戲的整體架構和組織代碼的方式,定時器的各種用法,以及iOS的塊語法。還會學習如何通過塊和Operation Queue來調度任務,以便讓它們在將來某個時候執行;以及如何在項目中進行單元測試。
第2章,介紹UI以及如何利用iOS自帶的UIKit現實用戶圖形界麵。除瞭內置的GUI對象,如按鈕、文本框之外, UIKit也可以按需定製——對於某些遊戲來說, UIKit可能是你唯一用得到的圖形界麵設計工具。
第3章,你將學習如何從用戶獲取輸入並在遊戲中使用這些數據。包括屏幕觸摸、手勢的判斷(例如輕觸、滑動和捏閤),以及其他輸入方式,比如用戶當前位置,或者從設備內置的各種傳感器中獲取數據。
第4章,討論聲效和音樂的使用。你將學習到如何加載和播放音頻文件,如何訪問用戶內置的音樂庫,以及如果用戶想在玩遊戲的同時還能傾聽他最愛聽的歌麯,我們又該如何去做。
第5章,討論和存儲相關的內容。遊戲過程中,或多或少需要保存一些數據,有的數據比較少(比如當前得分),有的數據量一般(比如遊戲存檔),有的數據量非常大(比如遊戲中用到的各種多媒體資源)。在本章,你將學習到各種存儲數據的方法,以及它們所適用的最佳場景。
第6章,討論iOS自帶的2D圖形庫Sprite Kit。 Sprite Kit功能強大,易於使用。在本章你將學習到如何創建場景,如何使角色動起來,以及如何使用貼圖和圖片。在本章,還會提到一些常用的2D數學運算技巧。
第7章,你將學習如何使用Sprite Kit中的2D物理引擎。物理引擎使遊戲中的物體能夠像在真實世界中一樣移動,能使我們以很少的代碼實現許多精彩的效果。你將學習如何使用物體、節點和作用力,以及如何使物理引擎接受用戶的輸入控製。
第8章及後續的兩章,介紹瞭iOS下的3D圖形引擎OpenGL ES 2。這三章和後麵的章節在結構上略有不同,因為Open GL的內容比較復雜,也不好分割成相對孤立的部分來講。
因此,我們用瞭三個連續的章節來進行介紹,在內容上三者的連續性更強,我們建議你按照它們的順序來進行學習。在第8章,介紹瞭OpenGL的基本概念,演示瞭如何在屏幕上繪製簡單圖形,並對繪圖中涉及的圖形算法進行瞭詳細解釋。
第9章延續瞭第8章的內容,討論3D繪圖中的進階技巧。你將在本章學習到如何從文件中加載3D圖形對象,以及如何在三維空間中使用鏡頭和移動鏡頭。
第10章延續瞭前兩章的內容,主要討論瞭3D渲染技術,它使你能夠精細控製物體在遊戲世界中的外觀。包括如何編寫渲染代碼,如何創建各種著色效果(漫反射、高光光照、卡通著色等),以及如何使物體透明。
第11章介紹蘋果最新的3D圖形框架Scene Kit。包括用Scene Kit顯示3D圖形對象;以及鏡頭、燈光和紋理貼圖的使用、 3D物理引擎。
第12章討論如何讓遊戲中的對象動起來,並與玩傢交互。包括如何使一個對象去追逐其他對象,如何使對象躲避障礙,如何在避開障礙的情況下計算物體行進的路徑。
第13章討論iOS內置的遊戲中心、社交網絡以及聯機對戰。包括如何獲取玩傢資料,以及讓玩傢與朋友聯網等。此外,你還將學習如何通過藍牙與附近設備進行連接。最終,你將學習如何將文字、圖片或其他內容分享到Twitter、 Facebook等社交網站上。
第14章討論如何將設備與其他設備進行連接:比如將設備連接到電視機、外接顯示器等擴展顯示設備,或者將遊戲手柄、搖杆等外部輸入裝置與設備相連。你將學習如何在遊戲中查找、使用這些附加設備,以充分利用它們所提供的能力。
第15章討論如何改善遊戲的性能和穩定性。你將學習如何使用Xcode的高級調試功能,如何壓縮紋理圖片以節省內存,以及如何使遊戲加載速度加快。
其他資源
本書源代碼可在此處下載(或者利用GitHub的fork功能進行剋隆): http://www.secretlab.com.au/books/ios-game-dev-cookbook-swift
O’Reilly還有許多關於遊戲開發和軟件開發的書(與iOS相關),也許會對iOS遊戲開發人員會有用,例如:
1)遊戲開發中的物理學
2)用Objective-C學習Cocoa(與本書同一作者)
3)Swift 編程和 Cocoa(與本書同一作者)
4)iOS 編程
我們強烈建議你將Gamasutra( http://gamasutra.com/)加到你的常用閱讀列錶中去,因為它涵蓋瞭許多高質量的遊戲行業動態。
遊戲設計師Marc LeBlanc的個人網站( http://8kindsoffun.com/) ,站長搜羅瞭許多演講、筆記和短文。我們發現這是一個充滿創意的地方。
最後不得不提到我們自己的博客( http://secretlab.com.au/)。
緻謝
Jon 在此感謝他的父母和他的大傢庭,感謝他們無微不至的照顧。
Paris在此感謝他的母親。小時候Paris對各種移動設備成癮,他的母親為此所費不菲。至今他仍然癡迷於各種新奇的小玩意。他已經迫不及待地想看到她的新小說問世。
感謝本書編輯, Rachel Roumeliotis。她讓本書得以順利問世並對本書內容提齣瞭大量有益的建議。這些建議非常之多,因為我們真的用心數過。此外,在編寫本書的過程中與我們共事過的所有O’Reilly Media職員和辦事人員,都為本書做齣瞭巨大的貢獻。另外,還要再次感謝Brian Jepson,他是我們在O’Reilly的第一個編輯。
非常感謝Tony Gray和AUC,他們給予我們和這裏列舉的其他人極大的支持。如果不是Tony和AUC社區,我們不會有機會進入這個行業工作,更彆說寫這本書瞭。
感謝Neal Goldstein,他理應得到所有的贊譽,是他驅使我們進入瞭一種瘋狂的寫作狀態。
還要感謝Maclab的那幫傢夥,他們不忘立場,堅持觀戰到Admiral Dolphin團隊獲得勝利的那一刻 ,同樣為我們加油鼓勁的還有Christopher Lueg教授、 Leonie Ellis博士以及塔斯馬尼亞大學的所有人。
因為種種原因,還要感謝Tim N、 Nic W、 Andrew B、 Jess L以及Rex S。因為更多的原
因,還要感謝Ash Johnson。
最後,尤其要感謝的人是史蒂夫·保羅·喬布斯 ,如果沒有他,這本書(以及許多書)都沒有必要存在。
還好,,,。
評分太老瞭,swift2……xcode9和swift4更新以後這本書真的是一點點用處都沒有,還不如看斯坦福公開課呢,人傢好歹講的更偏嚮實用一點,建議入門韆萬彆買這本書,不是入門也彆買,總之不是書不好,是真真的過時瞭不能看會誤導!
評分過於初級瞭有些
評分先買著 還沒看 質量還可以
評分挺好的。
評分swift 還沒深入去看
評分好舊。。。
評分書的內容挺詳細,看書中…
評分很好,很不錯。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有