天天看點

Cocos2d-x 開發之環境搭建

Cocos2d-x 開發之環境搭建

一、  簡介

Cocos2d是使用object-c語言開發,運作于ios系統的一款遊戲引擎,為了讓這款引擎能在更多的平台使用,國内的牛人根據cocos2d開發出了cocos2d-x,采用c++開發。Cocos2d-x這個開源項目的目标是讓使用者建立跨平台的代碼。支援的平台有iOS、Android、WinPhone、Win32平台上等。

優點:基于OpenGL ES,跨平台等;

缺點:相關文檔并不完善,引擎各版本之間API經常有變動,例如前一版本中的某個接口,在下一個版本中可能名稱被修改或是調用方式完全修改,這對開發者會造成一定的困擾。

我開始cocos2d-x開發之路時,是需要根據一份ios代碼,完成相應的android版本,是以我采用的方式是window下eclipse和mac虛拟機下xcode共同完成的,即在eclipse和xcode中分别建立基于cocos2d-x的工程,将xcode工程資源目錄指向eclipse中工程目錄位址,在xcode編寫代碼并使用iphone和ipad模拟器運作,在eclipse中使用NDK編譯後運作。

二、  環境搭建

1.  從http://cocos2d.cocoachina.com/下載下傳一份cocos2d-x引擎包(我目前使用的是2.1.2版本),解壓;

2.  在windows下配置好JDK+eclipse+ADT環境,啟動eclipse;

3.  下載下傳NDK的包(如http://dl.google.com/android/ndk/android-ndk-r7-windows.zip),解壓;

4.  下載下傳cygwin;

5.  編輯cocos2d-x目錄下的create-android-project.bat,将set _CYGBIN、set _ANDROIDTOOLS和set _NDKROOT分别改為相應路徑,例如:

set_CYGBIN=D:\cygwin\bin

set_ANDROIDTOOLS=D:\android-sdk\tools

set_NDKROOT=D:\android-ndk-r8b-windows\android-ndk-r8b

6.  建立android工程:輕按兩下create-android-project.bat(如提示沒有權限之類的,就右擊然後點選“Run as administrator”),根據相關提示輸入相關資訊即可。

7.  建立完畢會在相應工程下看到三個檔案夾:Classes、proj.android和Resources,其中Classes中存放的是c++編寫的代碼,Resources中存放資源檔案,proj.android存放的是android工程;

8.  導入proj.android中的工程到eclipse中;

9.  配置NDK環境:

右擊項目-》屬性-》Builders-》添加NDK的項

Cocos2d-x 開發之環境搭建
Cocos2d-x 開發之環境搭建
Cocos2d-x 開發之環境搭建
Cocos2d-x 開發之環境搭建

NDK_MODULE_PATH的設定如:D:\cocos2d-2.1rc0-x-2.1.2-hotfix\cocos2d-2.1rc0-x-2.1.2;D:\cocos2d-2.1rc0-x-2.1.2-hotfix\cocos2d-2.1rc0-x-2.1.2\cocos2dx\platform\third_party\android\prebuilt

10.  在手機上運作,正常時會看到一張圖檔;

11.  修改Classes下的代碼或是點選clean,會在控制台看到NDK重新編譯c++代碼,編譯成功時會提示生成了game.so檔案,android代碼中正是使用JNI調用該檔案進而在android手機中運作的。

在eclipse中再安裝好CDT,就可以直接在eclipse編寫C++代碼了,由于我還需要在ios系統運作,下面接着介紹如何在mac系統中配置cocos2d-x開發環境。

12.  沒有mac開發機,為了能使用同一份代碼,故我在windows系統中安裝了mac虛拟機(如果你是mac系統,可直接安裝eclipse),安裝好xcode;

13.  拷貝cocos2d-x的包到mac系統,在終端中運作:

cd $COCOS2DX_HOME sudo ./install-templates-xcode.sh –u

其中$COCOS2DX_HOME為cocos2d-x在你的mac系統中的目錄。

14.  打開xcode,建立項目,會在項目模闆中看到cocos2dx,使用該模闆建立項目;

下面讓xcode中的項目使用windows下eclipse中的資源

15.  Finder-》前往-》連接配接伺服器-》smb://10.200.x.xx-》連接配接(其中10.200.x.xx為windows下電腦的ip位址,在windows中将eclipse工程的路徑設定為共享,mac下連接配接之後,即可看到共享目錄);

16.  将xcode工程中的Classes和Resources删除,右擊xcode工程目錄-》add files to “”, 選擇工程目錄中的Classes和Resources目錄-》add。

17.  現在xcode工程使用的即是windows中eclipse工程中的代碼和資源檔案,在xcode中修改,在eclipse中會馬上看到新修改的,反之亦然。在xcode中使用iphone虛拟器運作,看到的效果跟在eclipse中運作的一樣。

三、  連接

官網:http://cocos2d.cocoachina.com/

四、  常見問題:

1.  在下載下傳cygwin時,需要将Devel項由Default改為Install再繼續,否則裝好的cygwin中make等指令都預設沒有安裝的;

2.    使用cygwin時,經常出現Permiss Denied 錯誤,會發現是項目建立後很多檔案沒有讀寫權限,可使用指令chmod-R 777 * 将所有子目錄權限都遞歸一并修改了;

3.  在使用cocos2d-x中的create-android-project.bat 建立工程時,有時候權限不夠,可以右鍵使用管理者身份運作;運作有時會因為目錄位置報錯,可以在檔案的第一句配置一下:cd/d %~dp0

4.  The lowest version cocos2d-x supports isandroid-8。是以在創建android項目時,輸入id需要輸入版本大於等於8的id;

5.  在eclipse運作編譯時,添加到了Resource下的圖檔等資源,需要手動複制一份到assets下面(直接用cygwin編譯就不用)。

6.  編譯Coco2d-x android 程式出現make: *** No ruleto make target ...CCConfiguration.o'. Stop.

      解決辦法:将eclipse工程中的obj檔案夾删除重新編譯。(詳解請見:http://blog.csdn.net/caimo/article/details/8750548)

繼續閱讀