本文記錄的是iOS項(xiàng)目集成Cocos2d的過(guò)程祈坠,首先拿到一份用CocosCreator導(dǎo)出的iOS項(xiàng)目真竖,本文使用的是Cocos Creator v2.3.1導(dǎo)出的項(xiàng)目贯钩,不同版本到處的項(xiàng)目結(jié)果可能會(huì)有所差異宣虾,其實(shí)集成過(guò)程有些操作也并非一定要嚴(yán)格按照本文記錄的過(guò)程也是可以集成成功骤宣,僅是個(gè)人的步驟記錄胧华。
步驟:
一寄症、拷貝Cocos Creator iOS項(xiàng)目資源到自己的項(xiàng)目
1宙彪、在自己項(xiàng)目中創(chuàng)建Resource(可自行命名)文件夾,拷貝Cocos項(xiàng)目里如下資源到Resource下
2有巧、copy cocos2d-x
3释漆、copy Classes
4、copy 截圖中對(duì)應(yīng)選中的文件篮迎,放入自己項(xiàng)目中合理的位置男图,放入位置沒(méi)有特殊要求
若集成到原有項(xiàng)目中忽略此步驟,按后續(xù)流程走甜橱,如果是集成到一個(gè)全新的iOS項(xiàng)目可以進(jìn)行此操作享言,后續(xù)有相應(yīng)解釋?zhuān)蛘咦孕锌创瞬襟E中要導(dǎo)入的文件代碼也會(huì)明白
二、將剛剛導(dǎo)入的三部分資源add到項(xiàng)目中(注意add資源的方式)
1渗鬼、xcode工程中導(dǎo)入cocos2d_libs.xcodeproj览露, 注意加入方式選擇Create folder references.
2、導(dǎo)入Classes譬胎,注意方式為Create groups
3差牛、導(dǎo)入Resource資源
三、配置項(xiàng)目
1堰乔、在項(xiàng)目配置中選擇targets,在Build Phases-Target Dependencies和Link Binary With Libraries中加入對(duì)應(yīng)庫(kù)偏化。
2、PROJECT中設(shè)置User Header Search Paths镐侯,相對(duì)路徑侦讨,因?yàn)槲野裞ocos2d-x文件夾放在Test.xcodeproj的同級(jí)目錄,所以是這個(gè)路徑苟翻。$(SRCROOT)是.xcodeproj所在位置
$(SRCROOT)/cocos2d-x
$(SRCROOT)/cocos2d-x/cocos
$(SRCROOT)/cocos2d-x/cocos/base
$(SRCROOT)/cocos2d-x/cocos/physics
$(SRCROOT)/cocos2d-x/cocos/math/kazmath
$(SRCROOT)/cocos2d-x/cocos/2d
$(SRCROOT)/cocos2d-x/cocos/gui
$(SRCROOT)/cocos2d-x/cocos/network
$(SRCROOT)/cocos2d-x/cocos/audio/include
$(SRCROOT)/cocos2d-x/cocos/editor-support
$(SRCROOT)/cocos2d-x/extensions
$(SRCROOT)/cocos2d-x/external
$(SRCROOT)/cocos2d-x/external/sources
$(SRCROOT)/cocos2d-x/external/chipmunk/include/chipmunk
$(SRCROOT)/cocos2d-x/cocos/scripting/js-bindings/manual
$(SRCROOT)/cocos2d-x/external/mac/include/v8
$(SRCROOT)/cocos2d-x/cocos/scripting/js-bindings/auto
3韵卤、設(shè)置TARGETS中User Header Search Paths
$(inherited)
$(SRCROOT)/cocos2d-x/cocos/platform/iOS
$(SRCROOT)/cocos2d-x/plugin/jsbindings/auto
$(SRCROOT)/cocos2d-x/plugin/jsbindings/manual
$(SRCROOT)/cocos2d-x/external/iOS/include
$(SRCROOT)/cocos2d-x/external/ios/include/spidermonkey
4、關(guān)閉BitCode
5崇猫、C / C++編譯器的選擇
6沈条、改變Always Search User Paths為YES
四、
因?qū)氲腃lasses中的資源有與iOS項(xiàng)目中的AppDelegate同名文件cocos::AppDelegate诅炉,避免沖突蜡歹,可重命名導(dǎo)入資源的AppDelegate或者自己項(xiàng)目中的AppDelegate文件。
本文是重命名的iOS原生項(xiàng)目中的AppDelegate文件涕烧。
在重命名后的AppDelegate文件的didFinishLaunchingWithOptions方法中添加如下頭文件及代碼:
app = new AppDelegate(bounds.size.width * scale, bounds.size.height * scale);
app->setMultitouch(true);
app->start();
在加載cocos2d頁(yè)面的目標(biāo)控制器中添加如下代碼月而,運(yùn)行且跳轉(zhuǎn)至此控制器即可正常加載cocos2d頁(yè)面:
- (void)loadView {
// Set EAGLView as view of RootViewController
self.view = (__bridge CCEAGLView *)cocos2d::Application::getInstance()->getView();
}
本文目前為止只是描述了集成并運(yùn)行初始頁(yè)面的過(guò)程,后續(xù)在使用過(guò)程中還會(huì)更新相應(yīng)內(nèi)容如:cocos和native的交互方式议纯,cocos頁(yè)面關(guān)閉后的處理