iPhone游戲開發:使用到的工具和技術
從小到大都有游戲夢,所以希望能開發出自己的游戲。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的藍牙配對。
【編輯推薦】