Mac下配置cocos2d-x開發環境(android和ios)

來源:互聯網
上載者:User

一、下載cocos2d-x

http://cocos2d-x.org/projects/cocos2d-x/wiki/Download

cocos2d-x-2.1.4.zip @ June.18, 2013

我們可以看到最新版本的2.1.4,這個版本提供了一個用python命令來建立各平台的項目,十分便利

下載,解壓(建議解壓到主目錄下的)

 

二、下載python

http://www.python.org/getit/

建議選擇2.7.5版本的下載

Python 2.7.5 Mac OS X 64-bit/32-bit x86-64/i386 InstallerPython 2.7.5 Mac OS X 32-bit i386/PPC Installer

下載,安裝,然後在終端直接輸入python,如果出現版本資訊則安裝成功。

 

三、建立cocos2d-x項目

進入終端,執行以下命令

cd ~/cocos2d-x-2.1.4/tools/project-creator/python create_project.py -project game01 -package com.ookcode.game -language cpp

create_project.py要求提供3個參數(工程名:我這裡是game01,包名:我這裡是com.ookcode.game,語言:cpp | js | lua)

執行成功會顯示以下資訊

proj.ios        : Done!proj.android        : Done!proj.win32        : Done!proj.mac        : Done!proj.blackberry        : Done!proj.linux        : Done!proj.marmalade        : Done!New project has been created in this path: /Users/ookcode/cocos2d-x-2.1.4/projects/game01Have Fun!

進入game01目錄,你可以看到這些項目

Classes    Resources        proj.android    proj.ios    proj.mac    proj.win32proj.blackberry    proj.linux    proj.marmalade

怎麼樣,全平台都給你搭好了,而且共用一個Classes檔案夾,也就是說你在一個平台更新了代碼,全平台都得到了更新。

 

四、編輯ios項目

進入game01/proj.ios/目錄,直接雙擊開啟game01.xcodeproj(別說你沒裝xcode)

然後點run就可以跑起來了

我在這裡曾經犯了一個很2的錯誤,就是一直在cocos2dx這個目錄下run,死活跑不起來

這裡要選中game01,不然就變成一直在build cocos2dx了

這個HelloWorldScene.cpp就是你的代碼了,你可以自己修改,不過由於所有平台用的都是這個,所以改了之後記得在其他平台也跑下

 

五、編輯安卓項目(重點,這個比較複雜)

1.下載ADT Bundle

http://developer.android.com/sdk/index.html

(解壓到主目錄,重新命名為adt-bundle,為了下面寫路徑方便)

2.下載NDK(目前最新版本是:android-ndk-re8)

http://developer.android.com/tools/sdk/ndk/index.html

(解壓到主目錄)

3.為Eclipse安裝CDT外掛程式

開啟eclipse,選擇菜單Help/Install New Software

在Work With下拉框中選擇自己eclipse的版本名,然後在外掛程式裡選中Programming Languages,開啟下拉式清單

選擇C/C++ Development Tools安裝,重啟eclipse

這是你可以建立一個c++的HelloWorld項目試一試

 

當你啟動並執行時候可能會有如下錯誤:

gcc: command not found

g++: command not found

開啟xcode->preferences->Downloads

你需要下載安裝Command Line Tools,安裝完成後,重啟Eclipse,然後重新運行那個c++項目,你會在Console中看到久違的HelloWorld!

4.配置全域變數

進入終端,執行以下命令

vim ~/.bash_profile

按i進行編輯,輸入以下路徑

export COCOS2DX_ROOT=/Users/ookcode/cocos2d-x-2.14/export NDK_ROOT=/Users/ookcode/android-ndk-r8eexport ANDROID_NDK_ROOT=/Users/ookcode/android-ndk-r8eexport ANDROID_SDK_ROOT=/Users/ookcode/adt-bundle/sdkexport PATH=$ANDROID_NDK_ROOT:$PATHexport PATH=$ANDROID_SDK_ROOT:$PATH

按ESC,再輸入:wq 儲存並退出(基本的vi命令要會)

******這裡是我的路徑,切記得換成你自己的*******

5.用NDK編譯android項目

進入終端,執行以下命令

cd ~/cocos2d-x-2.1.4/projects/game01/proj.android./build_native.sh

然後就是漫長的編譯

Compile++ thumb  : cocos2dcpp_shared <= main.cppCompile++ thumb  : cocos2dcpp_shared <= AppDelegate.cppCompile++ thumb  : cocos2dcpp_shared <= HelloWorldScene.cppCompile++ thumb  : cocos_extension_static <= AssetsManager.cppCompile++ thumb  : cocos_extension_static <= CCBFileLoader.cpp
………
………

當看到

Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.somake: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

就編譯成功了

6.匯入android項目

在eclipse中右鍵,new->project

 

選擇Android Project from Existing Code

Browse到game01的proj.android目錄

匯入進來後我們發現有這樣的錯誤

這是由於cocos2dx的檔案沒用正確的包含進來

右鍵項目->properties->Java Build Path

在Source裡點Link Source

Browse到/cocos2d-x-2.1.4/cocos2dx/platform/android/java/src

然後隨便取個名字,確定,剛才的錯誤就消除了!

--------------------------------------------------------------------------------------------------

2013年7月31日更新:

可以直接把/cocos2d-x-2.1.4/cocos2dx/platform/android/java當做一個安卓工程匯入,然後都不用設定Link Source,一勞永逸!

--------------------------------------------------------------------------------------------------

7.建立AVD模擬器

註:cocos2d-x需要4.0.3以上的模擬器才能運行,真機無所謂

建立AVD是記得勾選Use Host GPU

右鍵項目->Run As -> Run Configurations-> Target

在最底部輸入

8.運行項目

右鍵項目-> Run As -> Android Application

然後選擇剛才建立的AVD,然後你可以去先喝杯茶(模擬器啟動那叫一個慢~

9.編輯項目

千萬別在eclipse裡面寫c++的代碼, CDT真受不了。

前面說過,全平台的項目是共用一個classes的,所以,我們可以用xcode開啟那個ios的項目

開啟HelloWorldScene.cpp這個檔案,我們進行一些簡單的修改

找到這行代碼,我們給他修改一個字型

CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);

改成

CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "fonts/Marker Felt.ttf", 128);

你可能會奇怪,為什麼字型要這樣寫"fonts/Marker Felt.ttf"

如果是要ios支援的話直接寫Marker Felt就行,不過安卓卻不能這樣,我們可以看到,安卓項目的目錄下有個fonts目錄,所以得按這種寫法來獲得安卓的支援

(不過我疑惑的是,ios明明沒用fonts這個目錄,它是怎麼判斷出是這個字型的)

10.運行修改過的項目

在xcode中點擊Run

發現了麼,字型改變了!

然後接著是android項目,因為修改了代碼,所以必須重新編譯一次

再次進入終端,輸入以下代碼

cd ~/cocos2d-x-2.1.4/projects/game01/proj.android./build_native.sh

這次不會想上一次編譯一樣花那麼久,因為不會再編譯一次cocos2dx的代碼

Using prebuilt externalsmake: Entering directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'Compile++ thumb  : cocos2dcpp_shared <= HelloWorldScene.cppSharedLibrary  : libcocos2dcpp.soInstall        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.somake: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

出現以上代碼就表示編譯成功了

我們再回到eclipse,右鍵項目->Run As -> Android Application

 

 

六、結束語

  cocos2d-x的環境實在是很煩人,花了整整一天的時間才搭建好,期間更是碰到各種亂七八糟的錯誤,所以特地註冊個部落格,就為了把這次艱辛的環境搭建給記錄下來,也

給正在糾結的朋友們提供一些協助。

  慢慢悠悠寫了兩個小時,這是我第一次寫東西,表達的不是很清楚,還請大家見諒,有什麼問題可以回複給我,有什麼錯誤也請指出。

  我現在也在學cocos2d-x,不知道有沒有朋友能一起交流-。-(本人93年大2屌絲,技術宅,未婚,木有妹紙0.0)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.