iPhone游戲開發(fā)中使用到的工具和技術(shù)
iPhone游戲開發(fā)中使用到的工具和技術(shù)是本文要介紹的內(nèi)容,從小到大都有游戲夢,所以希望能開發(fā)出自己的游戲。iPhone游戲開發(fā)主要用到這些技術(shù)和工具:Objective-C或C/C++, Xcode, UIKit, Quartz 2D, Core Animation, OpenGL, audio APIs, networking, GameKit。
iphone游戲開發(fā)工具與環(huán)境
iPhone游戲開發(fā)使用的語言是objective-c。objective-c是c語言的擴(kuò)展,給c簡單直接的面向?qū)ο蟮奶匦?。iPhone所有的api接口都是用objective-c實(shí)現(xiàn)的,但是也有些非接口部分是使用c/c++實(shí)現(xiàn)的。所以你需要熟練使用objective-c,對c/c++也有一定的了解。
開發(fā)工具是Xcode,是一款功能強(qiáng)大的IDE。
UIKit
UIKit提供了一種最簡單的方式來繪制圖形和UI元素。使用UIKit顯示和定位位圖是非常簡單的,由于低層的硬件加速,速度還是蠻快的。對于游戲開發(fā),圖形和動畫很少的游戲,使用UIKit是個(gè)非常不錯(cuò)的選擇。
下圖是款完全使用UIKit開發(fā)的小游戲,沒有直接用到OpenGL ES。它也有有大量圖形和動畫元素,它幾乎接近了UIKit中可以做到的圖形幀速率限制。如果你想添加更多的圖形,那么你就要使用OpenGL ES ,來確保它能快速的運(yùn)行在所有的設(shè)備上。
下圖也是一個(gè)有UIKit開發(fā)的游戲。它不需要OpenGL ES提供的強(qiáng)大的圖形渲染功能。它是一個(gè)文字的游戲,只要一個(gè)很小的背景動畫。所以UIKit非常適合這樣開發(fā)。
Quartz 2D和Core Animation
Quartz 2D也被稱為Core Graphics。它提供了一個(gè)更為高級的,更底層的繪制引擎。Quartz 2D提供了很多有用和強(qiáng)大的功能,如屏幕渲染,透明層,繪制線條。這些功能派上用場了,許多游戲開發(fā)者不喜歡屏幕上畫雷達(dá),迷你地圖,彎曲的路徑,和其他UI元素的東西。雖然它可能用于渲染的一個(gè)游戲的主要內(nèi)容過于緩慢,但是Quartz 2D也是iPhone游戲開發(fā)者的的寶貴工具。
Core Animation為開發(fā)人員提供了一種移動和轉(zhuǎn)換UI元素最省力的方法。使用Core Animation,你能夠創(chuàng)建硬件加速,使用位置,旋轉(zhuǎn),透明度等屬性創(chuàng)建基于時(shí)間的動畫。Core Animation也可以用來實(shí)現(xiàn)視圖之間的過渡。提供了很多內(nèi)置的過渡方法。
OpenGL ES
OpenGL ES最重要的工具,是最快的圖形渲染方式,也使它能支持3D模型。
下圖是有OpenGL ES渲染出的3D圖形
下圖是由OpenGL ES渲染出的2D模型
Audio APIs
游戲離不開聲音效果,iPhone開發(fā)有對在游戲中使用聲音有多種選擇。比如更為高級的API:OpenAL,更為簡單的:內(nèi)置的服務(wù)。使用哪種取決于你的游戲需要。使用Audio API,你可以流音頻,播放短的聲音,甚至是在三維空間模擬音頻定位。
Networking
iPhone給開發(fā)人員提供了很多的連接技術(shù)。比如實(shí)時(shí)多人的游戲可以通過在服務(wù)器和客戶端通過socket和流進(jìn)行連接,或通過GameKit的藍(lán)牙配對。
小結(jié):iPhone游戲開發(fā)筆記使用到的工具和技術(shù)的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!