想做手機遊戲的!錯過這篇,你大概再也找不到這麼齊全的 iOS 程式設計文章大集合了!
嗯...我是認真的!這是我到目前為止,見過最齊全的 iOS 程式設計文章大集合!一共 420 篇高品質的 iOS 程式設計教學文!尤其想做 iOS 手機遊戲的人,看這篇絕對會讓您倒抽一口涼氣的!很有系統地介紹了 Sprite Kit、UIKit、Cocos2D、Corona、OpenGL...這些與 iOS 遊戲程式設計相關的框架或函式庫。作者對 iOS 程式設計很有愛啊!先奉上網址:
http://www.raywenderlich.com/tutorial-archive
好,照慣例,讓小弟為您導讀一下這篇文章:
(文長,英文好的朋友,可以直接點擊鏈結看原文,省略以下的導讀)
-----------
一、Objective-C 入門(Beginning Objective-C)
說到寫 iOS App,最常見的就是用 Objective-C 寫了。雖說 Apple 推出了 Swift,它也真的不錯用,但效能上還是差 Objective-C 那麼一點。一些 iOS App 的老手們,還是有不少人死守 Objective-C 的。
作者很貼心地把文章分為兩類:
1. 完全不懂程式設計者看的(For complete beginners to programming) x 6
2. 學過其它語言、但沒學過 Objective-C 看的(Experienced programmers but new to Objective-C) x 3
就請各位挑選適合自己程度的文章看囉!
二、iPhone 程式設計入門(Beginning iPhone Programming)
想寫 iOS App,Objective-C 語言(或 Swift 語言)是最基本的。就像想開車出去玩,「會開車」是最基本的。本區塊的文章,就是假設您已經「會開車(Objective-C 或 Swift)」的前提下,開始介紹「各地景點(設計各式 iPhone/iPad App)」。這邊只有 5 篇,前三篇幫您帶入門(雖然還遠遠不足),後兩篇教您如何發佈到 App Store 上。算是一個具體而微的「迷你課程」。
三、當機報告(Crash Reporting)
當 App 當掉,客戶來跟您抱怨時,您如何知道它是「如何當掉」的嗎?這時「當機報告」就很重要了!您可以把「當機報告」機制,一開始就寫在 App 裡,讓 App 當掉時,留下足夠判斷錯誤原因的資訊,供您判讀。這部分有 5 篇,性急的朋友可以暫時跳過。
四、Sprite Kit 教學課程(Sprite Kit Tutorials)
想寫 iOS 手機遊戲的照過來!!從 iOS 7 起,Apple 提供 Sprite Kit 這個遊戲函式庫,讓您叫用函式庫內的各種預先寫好的功能(讀入模型、動畫、材質、打光、碰撞偵測...),就能輕鬆寫好一個手機遊戲!這部分的文章很多喔!約有 26 篇!看完後應該能對 Sprite Kit 有深入的認識。
五、iOS 7 綜合性教學文(iOS 7 Tutorials)
這個部分所包含的,就是與 iOS 7 相關的綜合性文章。也是有 26 篇!充滿了 iOS 7 獨有的特色喔!
六、iOS 6 綜合性教學文(iOS 6 Tutorials)
同(五),只不過是針對 iOS 6。一共有 17 篇喔!
七、iOS 5 綜合性教學文(iOS 5 Tutorials)
同前,針對 iOS 5 的教學文。一共有 28 篇。以上(五)、(六)、(七)建議一起看!因為 iOS 7 也包含 iOS 5 的功能在裡面喔!這三部分算是 iOS 的進階認識。建議看完(一)與(二)後,可以直接跳(五)~(七)。
八、用 UIKit 製作手機遊戲(Making Games with UIKit)
如果您不想用任何現存的遊戲引擎(有時候是因為「只是個小遊戲(e.g.:黑白棋),不想弄得太笨重」這樣的原因)來打造遊戲的話,UIKit 是您最好的選擇。您可以自行撰寫簡單的遊戲引擎(比如說,只有「叫吃」與「移動規則」),搭配 UIKit 提供的畫面繪製功能,就能做出一款簡單小巧的手機遊戲喔!這部分一共有 15 篇。
九、使用 Cocos2D 撰寫遊戲(Beginning Game Programming with Cocos2D)
Cocos2D 是到目前為止,iOS 上最容易使用的程式框架(Framework)。您可以用它來做出不少棋盤類、地圖探索類的遊戲喔!這部分一共有 13 篇。
十、使用 Corona 製作手機遊戲程式(Beginning Game Programming with Corona)
用 Corona 這個程式框架來做遊戲有兩個好處!第一:可以用 Lua 這個語言。Lua 語言好懂又好寫,寫一行可以抵過 Objective-C 的十行,生產力頗高!第二:跨平台。Corona 在 Android 上也有支援。如果您想寫一款橫跨 iOS 與 Android 平台的遊戲,那 Corona 框架是您很好的選擇!這部分有 8 篇。
十一、Cocos2D 遊戲程式設計進階(Intermediate Game Programming with Cocos2D)
這是(九)的進階,看完(九)如果還「心癢癢的」,別忘了來看這部分的文章喔!這裡一共有 37 篇!
十二、Cocos2D 好用工具介紹(Cocos2D Tools)
這邊介紹了可用於 Cocos2D 的「紋理(Texture,貼在骨架外面,類似人類的皮膚)揀選」等工具,讓您寫 Cocos2D 程式時更輕鬆。這部分一共有 10 篇。
十三、使用 OpenGL 製作遊戲(Advanced Game Programming with OpenGL)
OpenGL 算是很老牌、很低階的 2D/3D 繪圖函式庫。如果 Corona、Cocos2D 這些框架比喻為「自排車」的話,OpenGL 就是「手排車」了。因為它比較低階,不太好駕馭。不過就像手排車把打檔這件事交給駕駛決定、而能做出許多特技一般,OpenGL 也能做出許多其它框架做不到的事情。這部分的文章一共有 17 篇。
十四、其它遊戲引擎(Other Game Engines)
這邊介紹了如何用 Python 或 Flash 來做簡單的小遊戲。對於國高中生想做遊戲的讀者,很推薦從 Python 學起!這部分一共有 6 篇!
十五、遊戲物理法則(Game Physics)
所謂「物理法則引擎」,管的就是類似球的彈跳、葉子飄落、髮絲搖曳、碰撞偵測...等這些人類很熟、但對機器來說不太好達成的部分。物理法則引擎越好的遊戲,會讓玩家看起來「越自然」。這部分一共有 8 篇。
十六、其它遊戲程式設計主題(Other Game Programming Topics)
包含「如何儲存遊戲進度」、「如何提高非人操控角色的智慧」...等。都包含在這個部分喔!這裡一共有 12 篇。
十七、如何儲存或讀入遊戲所需的資料(Saving and Loading Data)
這部分比較偏向「讀寫檔案」、「讀寫資料庫」...等主題。遊戲所需的動畫資料、骨架、外表紋理...都需要利用檔案或資料庫把它存起來,並在需要的時候讀回。本部分就是在介紹如何利用 XML 檔、SQLite 資料庫、以及 Core Data 這個函式庫,來儲存與讀寫資料。這裡一共有 17 篇。
十八、圖形與動畫(Graphics and Animation)
遊戲非常倚賴炫麗的視覺效果。因此,一款遊戲的圖形設計好不好、動畫是否流暢,就成了決定的關鍵。不過上述兩件事情,都會交由「原畫師」與「動畫師」來處理。程式師該做的,就是在使用者按下特定按鈕,或某個遊戲時間點,把這些圖形與動畫播出來而已。這邊一共有 30 篇,讓您好好瞭解該怎麼把圖形與動畫,在特定的時間點播放到螢幕上。
十九、網路程式設計(Network Programming)
現在的手機遊戲如果無法連線對戰,大概會被說「遜」吧?這部分提供了 25 篇,討論如何讓您的 iOS App 透過網路,互相溝通。
二十、如何賺錢(Making Money)
鄉親吶!這實在太令人感動了!我看國外文章這麼多年,很少有文章這麼直白地把技術以外的要素考慮進來的!沒錯!錢不是萬能,但沒有錢萬萬不能!這邊教大家如何使用「App 內購買(如:買虛寶)」、「廣告贊助輪播」、「多國語系」、以及如何讓您的 App 排名到 Store 內的前幾名。這 10 篇真的太重要了啊!!! XD
二十一、聲音(Audio)
好遊戲當然得搭好音樂!這邊用了 5 篇文章的篇幅,介紹如何播放各種音樂檔,還教您如何用 Mac 內的 Garage Band,來「製作」好音樂!讚啦!
二十二、iPad 程式設計(iPad Development)
某些遊戲很需要 iPad 這種大畫面來呈現。這邊的 5 篇文章,就是教大家 iPad 獨有的特色的。
二十三、第三方(非官方)函式庫(3rd Party Libraries)
這邊講的,包含 Facebook、Google 地圖...等第三方函式庫。還教您如何做「單元測試(Unit Test)」,確保 App 出廠時,錯誤率降到最低。一共有 19 篇。
二十四、其它 iPhone 相關的教學文(Other iPhone Tutorials)
存放了無法歸類於上述類別的文章。共 48 篇。
二十五、Mac OS X 上的教學文(Mac OS X Tutorials)
遊戲不一定要寫在 iPhone / iPad 上,也可以寫給 Mac 桌機筆電用喔!這邊的 9 篇文章就是談這個部分。
二十六、擴增實境教學文(Augmented Reality Tutorials)
所謂「擴增實境(Augmented Reality, AR)」,就是把像機鏡頭看到的真實世界,「貼」上虛擬的資訊。如果講七龍珠裡戴在賽亞人眼睛上的那種設備,您或許多少就能體會我說的是什麼了。記得有款遊戲就大大利用了 AR。它的地圖就是真實世界的地圖,然後您得真正用雙腳走出去,到指定地點(GPS 信號會讀取你的位置)執行特定的小任務,則就可以宣稱你「佔領」了這塊「土地」。當然其它玩家會來「奪還」,您就得「保衛」。如果您也有興趣做 AR 類的應用,那這 7 篇文章您非得好好讀一讀不可!
二十七、食譜類教學文(Cookbook Tutorials)
這是一種「透過專案實作,來學習技巧」的教學文。文初會把目標先告訴你,接著像食譜一樣,一步一步地導引您走向終點。一共有 3 篇。
-------------
怎麼樣?有沒有倒抽一口涼氣啊?我說的沒錯吧?錯過這篇,你再也找不到這麼齊全的教學文大匯總了。喜歡的話...咳咳...你也不必特別做什麼...不過你要按讚或分享,那就是你的自由了...我...我才沒有為了你特別準備這一篇的呢!別誤會了~(傲嬌模式發動中...XD)
呃...抱歉!為了擔心有網友看不懂我上面在進入「阿宅模式」時耍的一些白目術語,我正經一點做個結尾好了!感謝大家能看到最後,還請大家多多按讚,或分享給您 Facebook 的好友喔!也歡迎大家多留言,打聲招呼或說說您的感想,我非常願意能跟大家多交流的! m(^ ^)m
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「c# unit test教學」的推薦目錄:
- 關於c# unit test教學 在 紀老師程式教學網 Facebook 的最讚貼文
- 關於c# unit test教學 在 紀老師程式教學網 Facebook 的最佳解答
- 關於c# unit test教學 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於c# unit test教學 在 大象中醫 Youtube 的最佳貼文
- 關於c# unit test教學 在 大象中醫 Youtube 的最佳解答
- 關於c# unit test教學 在 工作的單元測試工具- test - GitHub 的評價
- 關於c# unit test教學 在 台灣.NET 技術愛好者俱樂部: 【新課上架】 - Facebook 的評價
- 關於c# unit test教學 在 java unit test教學的推薦與評價,FACEBOOK和網紅們這樣回答 的評價
- 關於c# unit test教學 在 如何寫出一個好的Unit Test? 的評價
c# unit test教學 在 紀老師程式教學網 Facebook 的最佳解答
[好站分享] GitHub 上的瘋狂 C++ 相關資源清單:Awesome-C++
逛國外網站這麼久,很少碰到有資源齊全到讓我倒抽一口涼氣的...這個作者對 C++ 很有愛啊~~
Awesome-C++,是掛在 GitHub 上的一個 C++ 資源清單。收集了 C++ 相關的函式庫、軟體、書籍、文章...還推薦作者覺得也不錯的其它清單。連結如下:
https://github.com/fffaraz/awesome-cpp
一旦點進去,你會被裡面滿滿的超鏈結,把你的腎上腺素濃度打到最高... XD。如果您平常工作與 C++ 相關,您絕對不能錯過這份清單。我簡單列出一下這份清單有什麼:
(以下文長,是寫給英文苦手的讀者看的。英文沒啥問題的朋友,建議直接看原文即可)
一、函式庫與框架
* 標準函式庫(Standard Libraries):
C++ 原生函式庫、POSIX、ISO、GNU 各家出品的標準函式庫都有。
* 程式框架(Frameworks)
「框架」比「函式庫」規格大一點。一般來說,「函式庫」幫你把常用的程式寫好,你只要叫用就好了,是一種幫助你加速完工、但並沒帶來任何新功能的一堆程式碼。「框架」則是替原始 C++ 帶來一些令人驚艷的新功能。不過這種分法,並非絕對的。
* 人工智慧(Artificial Intelligence, AI)相關框架與函式庫
想要催得動這一坨東西,得有點 AI 背景。否則你可能不知道函式庫提供給你「深先搜尋(Depth-first Search)」與「廣先搜尋(Width-first Search)」這些函數怎麼讓那堆冷冰冰的硬體多一點智慧。
* 非同步呼叫所使用的事件佇列(Asynchronous Event Loop)
一般來說,一個程式呼叫另一個程式,「叫人的」得等「被叫的」把事情做完,才能繼續進行下一步。就像一個經理眼睛盯著新手做事、沒辦法回到辦公桌做自己的事一樣,這種模式叫「同步呼叫(Synchronous Call)」。比較好的作法,是你交代完新手該做什麼,就離開回去做自己的事,等新手做完了,再來報告說「我做完了」,這種模式叫「非同步呼叫(Asynchronous Call)」。不過要能做到「非同步」,「叫人者」與「被叫者」之間,得有「事件(Event)」這個機制,讓兩者互相溝通該做的事,以及是否完工。此處提供的,都是讓 C++ 能達成「非同步」機制的函式庫或框架。
* 音效(Audio)相關框架或函式庫
這裡放的,都是讓你的 C++ 能做到讀取音效檔(如:mp3),並用程式碼對該檔進行剪輯、混音...等動作的函式庫或框架。
* 生物(Biology)相關框架或函式庫
這邊的函式庫,可以讓您用 C++ 比對兩條 DNA 序列相似度有多高,或者從一大堆不同樣本的 DNA 中,找出哪條 DNA 與哪條可能有親緣關係...等。
* 命令列(Command Line Interface, CLI)相關框架或函式庫
用這邊的函式庫,可以讓您在命令列跑出一些令人驚艷的效果。如 NCurses 就是一套能在命令列之下,用文字盡量模擬出下拉式選單、按鈕...圖形界面的感覺。
* 壓縮(Compression)相關函式庫
讓您不必瞭解檔案壓縮原理,會叫用相關函數就能做到檔案壓縮。
* 平行處理(Concurrency)相關函式庫
讓 C++ 也能輕易做到同時處理多件事情的函式庫。
* 資料結構相關函式庫(Containers)
提供資料結構內的 B-Tree 與 Hashmaps 等架構,讓 C++ 輕鬆取用。
* 加密(Cryptography)相關函式庫
提供加密解密相關函數。
* 資料庫(Database)相關函式庫
讓 C++ 可以用幾道命令,輕鬆接取 MySQL、MongoDB...等知名資料庫內的資料。
* 除錯、測試、效能(Debug)相關函式庫
雖然原文只用了「Debug」這樣的簡單字眼,但這一區的函式庫包含「單元測試(Unit Test)」、「效能測試(Benchmark)」、「記憶體用量追蹤(Memory Tracking)」等功能的函數。讓您的程式在還沒跑之前,就接受嚴格檢驗,降低發生錯誤的機會。
* 遊戲引擎(Game Engine)
提供一些函數,讓您輕鬆讀入 3D 建模軟體(如:Maya, 3D Studio...)做出來的模型與動畫。並在程式內特定事件(如:碰撞)發生時播放。也提供打光(Shading)、物理函數(如:彈跳、碰撞)...等方便的程式供您取用。這些東西讓您在寫遊戲時,能以更快的效率產出結果。
* 圖形界面(Graphical User Interface, GUI)
讓您用 C++ 建立漂亮的視窗、對話框、核取框、下拉式功能表...等圖形界面。
* 圖形(Graphics)相關函式庫
這部分多與遊戲引擎搭配,提供 2D 圖形處理或 3D 光跡追蹤(Rendering)等「外觀美化」的函數。讓您的遊戲角色或場景,看起來更栩栩如生。
* 影像處理(Image Processing)相關函式庫
包含讀入/繪出各式圖檔(PNG、JPG、GIF...)、光學字元辨識、電腦視覺、讀入/播放各式影片(MP4...)等函數。
* 國際化(Internationalization)相關函式庫
讓您用 C++ 寫出來的程式,可以輕易支援各國語言(當然,各國語言要事先請翻譯社先翻好,這邊只是提供語系切換的機制)。
* 行程間通訊(Inter-Process Communication, IPC)相關函式庫
兩個跑起來的獨立程式(如:兩個執行檔)想在執行過程中交換資料,稱為「行程間通訊」,簡稱 IPC。IPC 雖然不至於難如登天,不過要做到,手續還是很瑣碎的。這邊的函式庫提供好用函數,讓兩個行程交換資料時,變得比較容易。
* JSON 支援相關函式庫
JSON 原文是 JavaScript Object Notation。是一種用「純文字」來表示「資料」的方法。如一筆「李大華、35 歲、手機 0937555666」的資料,用 JSON 表示是這樣的:
[
Name: "李大華",
Age: 35,
Mobile: "0937555666"
]
之後可以讓這樣的資料,流通於瀏覽器與伺服器之間。而 JSON 函式庫,可以快速幫您分析 JSON 表示的資料,將它還原成您要的格式。
* 日誌(Logging)支援函式庫
日誌在「系統稽核」中,是很重要的功能。系統得把「什麼人、等級多高、做了什麼事、何時做的、對哪部分做的、從哪個 IP 過來...」忠實記錄下來。萬一系統出事了,我們就能追查可能是誰搞的。類似「監視器」的功能。這部分的函式庫,可以讓 C++ 輕易做到「日誌」功能,您不用傷腦筋日誌功能該怎麼寫,它已經幫您寫好了。您只要會用就行。
* 機器學習(Machine Learning)相關函式庫
提供如「類神經網路」、「電腦視覺」等進階函式庫,讓您的 C++ 程式有少量人類視覺與思考能力(真的很少量,請不用有太高期待)。
* 數學(Math)相關函式庫
一些線性代數、矩陣運算...等相關數學函數。
* 多媒體(Multimedia)相關函式庫
如:影音串流...等相關函數。
* 網路(Networking)相關函數
提供各種低階網路協定相關函數。如:TCP/IP、HTTP、點對點傳輸、非同步通訊、以及一些與 Facebook 橋接的相關函數。
* 物理模擬(Physics)相關函數
這部分也可以大量用於遊戲程式設計。主要提供一些函數,用來模擬自然界各種物理現象。如水流、風吹、碰撞、彈跳...等。
* 機器人控制(Robotics)相關函數
一堆方便你控制或模擬機器人行為的函數。
* 科學運算(Scientific Computing)
一些在科學上比較用得著的數學運算。如工程數學、傅立葉分析...等。
* 腳本語言控制(Scripting)
包含一些能讓 C++ 與各種腳本語言(JavaScript、PHP、Perl...)橋接的函數。
* 序列化控制(Serialization)
首先解釋一下何謂序列化。序列化可以把程式執行到一半的樣子,如數保存於硬碟中,甚至於可以關機。之後可以把序列化的資料「反序列化」,將它「解凍」還原至記憶體繼續跑,就像當初跑到一半被「冷凍」當下再往下執行一樣。這邊提供許多 C++ 序列化的函式庫。
* 影片處理(Video)
可以讀入/播放各種影片檔的函式庫。
* 虛擬機(Virtual Machines)
這邊提供一些用 C++ 寫出來的「輕量級」虛擬機。所謂虛擬機,是用軟體模擬出硬碟、處理器、記憶體、螢幕,工程師可以在虛擬機內安裝另一個作業系統,就好像安裝作業系統至真實機器一樣。
* 網頁應用軟體框架(Web Application Framework)
集合了一些用 C++ 寫出來的 WWW 伺服器、或開發網頁時用得上的函式庫等。
* XML
如果你希望教會你的 C++ 程式「讀懂」一個 XML 檔在講什麼,這邊提供了一堆 XML 解析器(XML Parser),方便您分析從遠方伺服器傳來的 XML 檔到底想表達什麼樣的資料。
* 其它(Miscellaneous)
一些無法分類的東西,通通塞在這裡。大部分是一些小型的函式庫或 C++ 與其它語言的橋接軟體。
二、C++ 相關軟體
* 編譯器(Compiler)
各類把 C++ 原始碼編成 0 與 1 機械碼的軟體。
* 線上編譯器(Online Compiler)
懶得安裝編譯器的話,現在有一堆線上的編譯器。你上傳原始碼,它會編成機械碼後,丟還個執行檔給你下載。
* 除錯器(Debugger)
一些有名的 C++ 除錯器。當你的程式無法執行時,可以靠它找出到底錯在哪裡。
* 整合式開發環境(Integrated Development Environment, IDE)
IDE 就是把文字編輯器(Editor)、編譯器(Compiler)、除錯器(Debugger)...等軟體整合成一體的軟體。您可以不離開該環境,就能寫碼、編譯、除錯、執行...。
* 軟體建構系統(Build Systems)
簡單說,就是把一些瑣碎動作事先安排好、可以在程式碼修改後,下達一條指令(如:「建構!」),就可全自動一條鞭地從編譯、測試、備份、安裝...一口氣完成的系統。
* 原始碼靜態分析軟體(Static Code Analysis)
丟入原始碼,可以幫你找出哪段程式可能發生錯誤,或者可能造成效能低下。也能找出完全沒被叫用到的原始碼,提醒您刪除。甚至於可以把您的程式碼重排成符合特定格式,統一多人寫碼風格時很有用。
三、其它資源
* API Design 文件
* 有用文章(Articles)
* 推薦書籍(Books)
* 寫碼風格(Coding Style)
* 演講(Talks)
* 影片教學(Videos)
* 有用網站(Web Sites)
* 有用部落格(Weblogs)
* 其它 Awesome C++ 姊妹作(Other Awesome Projects)
四、其它也很棒的清單(Other Awesome Lists)
能看到這行字的,給您拍拍手!辛苦了!希望今天分享的內容您會喜歡!也請您不吝按讚鼓勵,或分享給您 Facebook 的親朋好友!
c# unit test教學 在 コバにゃんチャンネル Youtube 的最讚貼文
c# unit test教學 在 大象中醫 Youtube 的最佳貼文
c# unit test教學 在 大象中醫 Youtube 的最佳解答
c# unit test教學 在 台灣.NET 技術愛好者俱樂部: 【新課上架】 - Facebook 的推薦與評價
【新課上架】測試學程第3~5篇測試第3篇: 熟能生巧Unit Test (單元測試) V.S. Integration Test (整合測試) 測試第4篇: ... C#教材, TSQL教材, MVC教學, Linq教學, . ... <看更多>
c# unit test教學 在 如何寫出一個好的Unit Test? 的推薦與評價
Unit Test 的名字內容寫法. 這邊特別申明一下因為書中是使用C#, 所以unit test 名稱就是function 名稱, 這跟java 也很相似這 ... ... <看更多>
c# unit test教學 在 工作的單元測試工具- test - GitHub 的推薦與評價
visualstudio-docs.zh-tw/docs/test/unit-test-your-code.md ... 單元測試提供開發人員及測試人員一個快速的方法,可在C#、Visual Basic 和C++ 專案中查看類別之方法中 ... ... <看更多>