實現 Cocos2D-X 跨平台功能 ( WINDOWS & MAC )

WINDOWS 平台
這篇就來介紹如何在PC上實現跨平台的功能吧,首先你也必須準備一些前置作業...

Android NDK部份
1. 需要先完整安裝 Android SDK ,版本必須1.5以上
2. 下載 Android NDK 目前使用版本為android-ndk-r6b-windows 直接到google下載
3. 解壓縮之後放到無中文路徑資料夾 如: D:\android-ndk-r6b


Cygwin部份
1. 下載cygwin,到 http://www.cygwin.com/ 下載setup.exe之後,選擇網路下載,安裝時選擇套件 Devel 安裝選項改為 Install 有1G多需要稍等一下
2. 安裝完成執行Cygwin 輸入make -v和gcc -v測試


轉code部份
1.先到cocos2d-1.0.0-x-0.9.0資料夾中, 編輯create-android-project.bat內容 ,修改以下3個路徑
(注意: 記得修改為自己的路徑)

set _CYGBIN=C:\cygwin\bin
The path of cygwin bin
set _ANDROIDTOOLS=D:\anroid\android-sdk-windows\tools
The path of android sdk tools
set _NDKROOT=D:\anroid\android-ndk-r5b
The root of ndk


2.執行create-android-project.bat ,執行之後依序輸入

package path:com.fox.test1  <-android package name
project name:test1 <-android project name
target id: <-android id

完成之後會在cocos2d-1.0.0-x-0.9.0資料夾中產生以剛剛輸入project name為名的資料夾
,裡面有3個資料夾,為android,Classes,Resource,

接下來
2-1.把cocos2dx專案裡的類別(.h和.cpp)全部放到Classes資料夾裡,
2-2.把cocos2dx專案裡的資源全部放到Resource資料夾裡,
2-3.編輯test1/android/jni/helloworld/Android.mk檔
2-4.打開Android.mk內容中有LOCAL_SRC_FILES, 把剛剛放到Classes裡的新類別填入,

如原本應該只有main.cpp \
../../../Classes/AppDelegate.cpp \
../../../Classes/HelloWorldScene.cpp

加入新的.cpp
main.cpp \
../../../Classes/AppDelegate.cpp \
../../../Classes/HelloWorldScene.cpp \
../../../Classes/xxx1.cpp \
../../../Classes/xxx2.cpp \
../../../Classes/xxx3.cpp


3.執行Cygwin,移動到cocos2d-1.0.0-x-0.9.0資料夾中的project name為名的資料夾裡的android資料夾中
(也就是cocos2d-1.0.0-x-0.9.0/test1/android)
移動指令為 cd d: <-移動到d槽  查詢資料夾指令 dir

4.輸入 ./build_native.sh

5.在轉code過程中 可以在輸出畫面看到過程,那裡出錯那裡失敗等等

6.成功轉code之後,android資料夾才真正可用

7.開啟eclipse, File -> New -> Project -> 選擇 androidProject -> Next -> 輸入project name

->在contents選擇 create project from existing source ->在location選擇剛剛產生的android資料夾(cocos2d-1.0.0-x-0.9.0/test1/android) -> Finish

轉code完成!!!

之後要再轉code只要從 "轉code部份" 的第2點開始就可以了


MAC 平台
在Mac上跨平台步驟相對的簡單,我們使用官網提供的範例 Cocos2dxSimpleGame 來做跨平台的示範,首先請到這裡下載,下載完畢後解壓縮吧

接著開啓終端機並使用命令列移動到cocos2d-1.0.1-x-0.10.0並執行create-android-project.sh,依據提示填入套件名稱,id,專案名稱等等,在專案名稱資料夾中,有三個子資料夾分別為android,Classes,Resources,第一個android資料夾主要是拿來放轉譯成功後的專案,第二個Classes資料夾是放置類別檔,當你在原專案有自創類別時就要把自創類別複製到Classes中並修改Android.mk,第三個資料夾Resources當然就是放置資源的地方,如圖形,音效等等

接著我們把Cocos2dxSimpleGame內的Classes資料夾中的所有類別複製到專案名稱資料夾的Classes中,開啟Classes中的Android.mk,修改


LOCAL_SRC_FILES := AppDelegate.cpp \
                   HelloWorldScene.cpp




LOCAL_SRC_FILES := AppDelegate.cpp \
                   HelloWorldScene.cpp \
                   GameOverScene.cpp

接下來把Cocos2dxSimpleGame內的Resources資料夾中的所有資源複製到專案名稱資料夾的Resources中,開啟終端機並使用命令列移動到專案名稱資料夾中的android資料夾,並執行build_native.sh,進行轉譯的動作,轉譯成功後,此時專案名稱資料夾中的android資料夾就可以拿來建立android專案囉,接著開啓Eclipse,File -> New -> Project -> Android Project,輸入Project Name,並選擇 Create Project from existing source,然後在Location欄位選擇剛剛的android資料夾路徑,接下來執行專案,編譯,運行完成!!!

標籤: