正文

入 門(mén)(8)

iPhone & iPad Cocos2D游戲開(kāi)發(fā)實(shí)戰(zhàn) 作者:(美)伊特海姆


  

2.2.2  資源

我們從下往上看Groups & Files窗格。找到Resources組,該組中存放的是非源碼文件,比如圖像和音頻文件。

Default.png文件是在iOS加載應(yīng)用程序時(shí)顯示的圖像,而Icon.png文件顧名思義就是應(yīng)用程序的圖標(biāo)。fps_images.png文件是cocos2d用來(lái)顯示幀率的,是不允許刪除或修改的。

Info.plist文件包含了一些與應(yīng)用程序相關(guān)的配置信息,只有要僅在即將發(fā)布應(yīng)用程序時(shí)才需要在這里作修改該文件

2.2.3  其他資源

如果你熟悉用C或類似語(yǔ)言進(jìn)行編程,那么應(yīng)該能認(rèn)出main.m文件,它表示一個(gè)應(yīng)用程序的開(kāi)始。

1. main.m

所有發(fā)生在main函數(shù)和HelloWorldAppDelegate類之間的事情都是由iPhone SDK自行處理的,不受程序員控制。因?yàn)閹缀醪挥脤?duì)main.m作修改,所以可以放心跳過(guò)這里的內(nèi)容。當(dāng)然,多學(xué)一點(diǎn)知識(shí)無(wú)妨

簡(jiǎn)單來(lái)說(shuō),main函數(shù)創(chuàng)建了NSAutoreleasePool,之后調(diào)用了UIApplicationMain來(lái)啟動(dòng)應(yīng)用程序。其中,HelloWorldAppDelegate用作實(shí)現(xiàn)UIApplicationDelegate協(xié)議。

int main(int argc, char *argv[]) {

NSAutoreleasePool *pool = [NSAutoreleasePool new];

int retVal = UIApplicationMain(argc, argv, nil, @"HelloWorldAppDelegate");

[pool release];

return retVal;

}

實(shí)際上,每個(gè)iOS應(yīng)用程序使用NSAutoreleasePool來(lái)幫助管理內(nèi)存。簡(jiǎn)單來(lái)說(shuō),通過(guò)對(duì)對(duì)象發(fā)送自動(dòng)釋放消息,就不必再為何時(shí)向它們發(fā)送釋放消息而煩惱了。自動(dòng)釋放池保證所有被自動(dòng)釋放的對(duì)象最終都會(huì)從內(nèi)存中釋放。

如果你不明白我在說(shuō)些什么也沒(méi)有關(guān)系,稍后我會(huì)在本章中介紹cocos2d中的內(nèi)存管理機(jī)制,到時(shí)候你就會(huì)清楚為什么每個(gè)iOS應(yīng)用程序都要采用被封裝一個(gè)NSAutoreleasepool。

2. 預(yù)編譯前綴頭文件

HelloWorld_prefix.pch是一個(gè)用于加快編譯速度的工具。只有永遠(yuǎn)不會(huì)變化或很少發(fā)生變化的頭文件才能被添加到前綴頭文件中。這樣做可以使框架的代碼提前被編譯,并對(duì)所有類可見(jiàn)。不幸但是,如果添加到前綴頭文件中的頭文件發(fā)生了變化,那么所有代碼會(huì)被重新編譯,這也是為什么只能向前綴頭文件中添加不變的頭文件的原因。

正如代碼清單2-1中所寫(xiě),cocos2d.h頭文件是非常適合被添加到前綴頭文件中的,因?yàn)樗鼛缀醪粫?huì)改變。當(dāng)項(xiàng)目比較復(fù)雜時(shí),編譯速度會(huì)有比較顯著的提升(當(dāng)然,也不必拿出秒表來(lái)測(cè)量)。但是,一開(kāi)始就把“cocos2d.h添加到前綴頭文件中是一個(gè)非常好的習(xí)慣,這樣在其他源文件中就不必再寫(xiě)語(yǔ)句#import "cocos2d.h"了。

代碼清單2-1  前綴頭文件中加入cocos2d. 

#ifdef __OBJC__

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>

#import "cocos2d.h"

#endif

同樣,欲知更多前綴頭文件以及編譯優(yōu)化的相關(guān)內(nèi)容,請(qǐng)參考蘋(píng)果公司官方的開(kāi)發(fā)者文檔http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/Xcode- BuildSystem/800-Reducing_Build_Times/bs_speed_up_build.html。


上一章目錄下一章

Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)