從小到大都有遊戲夢,所以希望能開發出自己的遊戲。iPhone遊戲開發主要用到這些技術和工具:Objective-C或C/C++, Xcode, UIKit, Quartz 2D, Core Animation, OpenGL, audio APIs, networking, GameKit。
開發工具與環境
iPhone開發使用的語言是objective-c。objective-c是c語言的擴充,給c簡單直接的物件導向的特性。iPhone所有的api介面都是用objective-c實現的,但是也有些非介面部分是使用c/c++實現的。所以你需要熟練使用objective-c,對c/c++也有一定的瞭解。
開發工具是Xcode,是一款功能強大的IDE。
UIKit
UIKit提供了一種最簡單的方式來繪製圖形和UI元素。使用UIKit顯示和定位位元影像是非常簡單的,由於低層的硬體加速,速度還是蠻快的。對於遊戲開發,圖形和動畫很少的遊戲,使用UIKit是個非常不錯的選擇。
是款完全使用UIKit開發的小遊戲,沒有直接用到OpenGL ES。它也有有大量圖形和動畫元素,它幾乎接近了UIKit中可以做到的圖形畫面播放速率限制。如果你想添加更多的圖形,那麼你就要使用OpenGL ES ,來確保它能快速的運行在所有的裝置上。
也是一個有UIKit開發的遊戲。它不需要OpenGL ES提供的強大的圖形渲染功能。它是一個文字的遊戲,只要一個很小的背景動畫。所以UIKit非常適合這樣開發。
Quartz 2D和Core Animation
Quartz 2D也被稱為Core Graphics。它提供了一個更為進階的,更底層的繪製引擎。Quartz 2D提供了很多有用和強大的功能,如螢幕渲染,透明層,繪製線條。這些功能派上用場了,許多遊戲開發人員不喜歡螢幕上畫雷達,迷你地圖,彎曲的路徑,和其他UI元素的東西。雖然它可能用於渲染的一個遊戲的主要內容過於緩慢,但是Quartz 2D也是iPhone開發人員的的寶貴工具。
Core Animation為開發人員提供了一種移動和轉換UI元素最省力的方法。使用Core Animation,你能夠建立硬體加速,使用位置,旋轉,透明度等屬性建立基於時間的動畫。Core Animation也可以用來實現視圖之間的過渡。提供了很多內建的過渡方法。
OpenGL ES
OpenGL ES最重要的工具,是最快的圖形渲染方式,也使它能支援3D模型。
是有OpenGL ES渲染出的3D圖形
是由OpenGL ES渲染出的2D模型
Audio APIs
遊戲離不開聲音效果,iPhone開發有對在遊戲中使用聲音有多種選擇。比如更為進階的API:OpenAL,更為簡單的:內建的服務。使用哪種取決於你的遊戲需要。使用Audio API,你可以流音頻,播放短的聲音,甚至是在三維空間類比音頻定位。
Networking
iPhone給開發人員提供了很多的串連技術。比如即時多人的遊戲可以通過在伺服器和用戶端通過socket和流進行串連,或通過GameKit的藍芽配對。