Cocos2d-x項目移植(Win32至IOS,Win32至Android)

轉自:http://www.58player.com/blog-2388-102251.html


 1、前面的三個Cocos2d-x小遊戲都是在VS中編寫的,但是這些遊戲實際上應該運行在手機或是平板等手持設備上。這就涉及到一個移植的問題。因爲Cocos2d-x是由C++編寫的,而IOS和Android又都有C++的編程接口,所以Cocos2d-x具備了跨平臺的可移植性。 
          
        2、相對來說,將項目移植IOS環境比較簡單,如果電腦裝有MAC系統只需要轉一個XCode,以及一個Cocos2d-x的插件即可,然後利用插件嚮導新建一個項目,將待移植的工程中的.cpp和 .h以及資源文件文件複製進去編譯即可。 
        另注:main.h、main.cpp、Resource.h等文件不用複製。 
          
        3、如果沒有蘋果電腦,那麼可以考慮虛擬機,問題往往出在安裝虛擬機以及在虛擬機上安裝MAC系統上。但是相對來說,在虛擬機上安裝MAC系統比直接在機器上安裝MAC容易的多。本人親測,在i3,8G內存筆記本上用虛擬機安裝OS X Mavericks 10.9 (GM).iso,運行流暢,並且編譯移植的cocos2d-x項目成功。(稍後如果有時間,會做一個教程) 
          
        4、以上是移植到IOS環境,下面介紹移植到Android環境,安卓因爲涉及到Java的SDK以及NDK等內容,所以實現起來比較複雜。並且由於Cocos2d-x的版本比較多,各個版本之間的改動也比較到,所以教程不好寫,最多針對某一特定版本的Cocos2d-x。 
          
        5、就我這兩天的嘗試可知,Cocos2d-x 2.0.4和Cocos2d-x 2.2.1庫文件改動不大,在Win32下前者編寫的工程可以無需修改在後者直接編譯,但是移植到Android中時完全不同。前者需使用cyWin,而後者可以利用Python。就本人感覺而言,利用Python比較簡單。 
          
        6、下面就來介紹如何將Win32下的Cocos2d-x項目移植到Android中,首先是用到的工具以及軟件: 
        鏈接:  http://pan.baidu.com/s/1hq5lY2w 密碼: ydxq  
          
        7、打開上述鏈接,顯示如下: 
          
          
        8、首先,搭建Java環境: 
        (1)安裝JDK(jdk-7u45-windows-x64.exe) 
        注1:根據自己的電腦選擇32位或是64位版 
        注2:安裝JDK的時候會同時安裝對應的JRE 
          
          
          
          
          
          
          
          
          
          
          
          
        (2)配置環境變量: 
        系統變量→新建 JAVA_HOME 變量 。 變量值填寫JDK的安裝目錄(默認是C:\Program Files\Java\jdk1.7.0_45) 
         系統變量→尋找 Path 變量→編輯 在變量值最後輸入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(如果原值後面無分號,請添加一個分號)  
          
          
          
          
          
        完成後確定,打開CMD,鍵入java -version查看設置是否成功(顯示如下表示環境變量設置成功): 
          
          
        9、其次,安裝Python(python-2.7.5.msi): 
        因爲我原先裝過,所以界面如下,直接點下一步即可: 
          
          
          
          
        設置Python的環境變量: 
        默認安裝在C盤: 
          
          
        系統變量→尋找 Path 變量→編輯 在變量值最後輸入 C:\Python27(如果原值後面無分號,請添加一個分號) 
          
          
          
        10、解壓縮adt-bundle-windows-x86_64-20131030.zip 
        (1)解壓後的根目錄: 
          
        (2)進入eclipse目錄:  
          
        (3)雙擊運行eclipse.exe文件:(注:這一步需先裝JDK並配置環境變量) 
          
          
        (4)新建一個Android項目,用於檢測Android Eclipse開發環境: 
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        右鍵項目Test,Run as -> Android Application: 
          
          
        (5)如果沒有創建Android虛擬機或者連接Android手機,會彈出如下提示: 
          
          
        (6)選擇Yes後彈出如下界面: 
          
          
        (7)如果有Android手機,可以打開調試模式,用數據線連接到電腦(需要安裝驅動,裝個手機助手)。如果成功連接大豆電腦,會在Choosing a running Android device下顯示,選擇它點擊OK就行了。 
          
        (8)如果不想連接Android手機,那麼可以創建一個虛擬機,選中Launch a New Android Device: 
        單擊Manager... 
         
          
        (9)彈出如下窗口,選擇NEW: 
          
          
        (10)彈出新建虛擬設備窗口,添加設備名,勾選Use Host Gpu: 
          
          
        (11)OK後虛擬設備創建完成,如下: 
          
          
        (12)關閉上面的窗口,在下圖窗口點擊Refresh: 
          
          
        (13)選中剛創建的設備MyAndroid,點擊OK: 
          
          
        (14)如果前面操作沒問題的話,虛擬機就會運行,效果如下: 
          
          
          
          
          
          
        12、至此,Android的Eclipse環境搭建好了。 
          
        13、下面解壓cocos2d-x-2.2.1.zip,解壓後根目錄(../cocos2d-x-2.2.1)文件如下: 
          
          
        14、將python.bat這個批處理程序複製到tools目錄下的project-creator文件夾中: 
          
        15、右鍵以管理員身份運行python.bat: 
        根據提示創建一個項目: 
         
          
          
          
        16、現在進入Cocos2d-x的projects文件夾,會出現一個剛纔創建的項目: 
          
          
          
          
        17、打開Eclipse,導入剛剛創建的項目cocos2dx_fighting: 
          
          
          
          
        導入剛剛創建的項目cocos2dx_fighting: 
          
          
          
          
          
          
        點擊Finish後,文件列表: 
          
          
        18、我們看到剛纔導入的項目還有錯誤,接下去繼續設置。 
          
        19、 
        (1)將 
        ...\cocos2d-x-2.2.1\cocos2dx\platform\android\java\src 
        下的org文件夾整個複製到 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\src 
        目錄中 
          
          
          
          
        (2)將 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\Resources 
        目錄下的所有文件複製到 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\assets 
        文件夾中 
          
          
          
          
          
        20、下面再在Eclipse中配置幾個項目相關的路徑,預先解壓NDK(android-ndk-r9c-windows-x86_64.zip): 
        (1)右鍵cocos2dx_fighting項目,點擊Properties: 
          
        選擇C/C++ Build,修改Build command:爲NDK的ndk-build.cmd文件的路徑: 
          
          
          
          
        (2)切換到Resource,選擇Linked Resources,添加一個COCOS2DX的路徑: 
          
          
          
          
          
          
          
          
        21、上面幾項每新建一個項目都需要重新設置,接下來設置3個不需重複設置的變量: 
        Window -> Preferences 
          
          
        22、添加3個值:NDK_ROOT、NDK_MODULE_PATH、COCOS2DX 
          
          
        23、至此,所有配置完成,右鍵項目Refresh,Build project: 
          
          
          
          
          
          
        24、build的時間會有點長,我的電腦大概要5分鐘,編譯完成: 
          
          
        25、接下來,右鍵工程,Run as, Android Application: 
          
          
          
          
          
          
          
          
          
          
        26、接下去導入Win32下編寫的Cocosd-x格鬥遊戲至Android環境: 
          
        27、將待移植項目的.h和.cpp文件複製到cocos2dx_fighting工程下的Classes文件夾下(覆蓋): 
          
          
          
          
          
          
        28、將待移植項目Resources目錄下的所有內容複製到 
        ...\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\assets 
        目錄下: 
          
          
          
        29、打開Eclipse右鍵工程cocos2dx_fighting -> Refresh,Project -> Build Project。此時,可以嘗試Run as -> Android Application: 
          
        你會發現,還是HelloWorld那個程序的界面,因爲你導入的文件根本沒有編譯: 
          
          
          
        30、打開Android.mk文件: 
          
          
        31、添加cpp文件: 
          
          
        32、Project -> Build Project: 
        錯誤信息如下: 
          
          
        33、顯然是ui64不識別,修改如下(最好不要在Eclipse中打開修改,而是用EditPlus或是直接yongVS打開修改): 
        GameDefines.h中 
          
        34、修改後保存,Eclipse中Refresh,然後Build Project: 
          
          
        35、Build成功(警告可以不管),運行Run as -> Android Application: 
          
          
        36、OK,在工程的\cocos2d-x-2.2.1\projects\cocos2dx_fighting\proj.android\bin下回生成一個cocos2dx_fighting.apk,複製到手機安裝運行。(虛擬機實在啓動的太慢了,另外有時會卡殼重啓,就不貼圖了): 
          
          
          
          
          
         
         
          
        37、上面幾張圖是我手機上運行的截圖。 
          
        38、至此,移植成功。另外:cocos2dx_fighting.apk 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章