使用 Cocos2d-x 3.0 或者更新版本構建多平臺遊戲
在這個教程中,你將學到如何在 Windows 開發環境中使用 Cocos2d-x 3.0 或更高版本來建立一個簡單的遊戲,和如何在 Windows 和 Android 平臺上執行它。
Cocos2d-x 是什麼?
Cocos2d-x 是一個跨平臺的遊戲開發框架(也可以用來開發其他圖形應用,比如互動圖書),它是基於 iOS 的 cocos2d 框架實現的,與其不同的是,cocos2d-x 使用 C++,JavaScript, Lua 而不是Objective-C。
這個框架的優勢之一就是,使用它建立的遊戲,不用修改程式碼,只需要做少量的平臺配置適應,就能夠很容易的將其部署到其他平臺(例如Android, iOS, Win32, Windows Phone, Mac, Linux等多個平臺)
Cocos2d-x 命令列
cocos2d-console 是在 3.0 版本中被引進的。它是一個命令列工具,提供一些管理 Cocos2d-x 或者Cocos2d-JS 工程的功能,例如:建立,執行,建立,除錯等等。
建立你的第一個遊戲
1 -( Download )下載最新版本的框架並將其解壓到你的開發環境中。本教程使用的版本是 3.3rc0 version , 框架解壓到桌面 (C:/Users/intel-user/Desktop/cocos2d-x-3.3rc0).
Figure 1. Cocos2d-x version 3.3 RC0 目錄結構
2 – 為了用 cocos2d-x 建立新工程, 需要使用框架目錄中的 setup.py (a Python* script) 配置編譯 Win32 和 Android 平臺的環境變數. 在執行 setup.py 之前,還需要下載和安裝下面的配置工具:
如果沒有安裝 Python 環境, 下載 2.7.6 版本的python安裝程式: http://www.python.org/download/
Figure 2. setup.py location
3 - 開啟命令提示視窗 (cmd.exe) 執行以下命令:
- 切換到指令碼所在的資料夾 (框架目錄):
cd C:/Users/intel-user/Desktop/cocos2d-x-3.3rc0
- 執行 setup.py:
python setup.py (or setup.py only)
Note:要在命令提示視窗中執行python命令, 需要將python的安裝目錄新增到系統的path環境變數中.
- 此指令碼需要Android SDK, Android NDK 和 ANT的安裝路徑.
- Android NDK 目錄:
Figure 3. Cocos2d-console 設定NDK 目錄
- Android SDK 目錄:
Figure 4. Cocos2d-console 設定 SDK 目錄
- Apache ANT bin 目錄:
Figure 5. Cocos2d-console 設定 ANT bin 目錄
新增要求的目錄之後, 重新開啟命令提示視窗 (cmd.exe). 要使用 cocos2d-console 命令必須這樣做.
4 – 輸入 cmd.exe 進入命令列提示框(cocos2d-console 命令只能從這裡執行),再次開啟框架資料夾:
cd C:/Users/intel-user/Desktop/cocos2d-x-3.3rc0
在下面的步驟,我們將建立一個新的Cocos2d-x 專案:
cocos new MyGame –p com.Project.MyGame –l cpp –d Project
Figure 6. 建立 Cocos2d-x 專案
下面的引數的簡單解釋:
- new: 建立一個新的專案,後面必須緊跟專案名稱(此例中為MyGame)
- -p: 定義包名
- -l: 選擇程式語言,可以是 cpp 或者 lua
- -d: 框架所要建立的工程結構的目錄
如果一切順利,你的專案將會在 Project 目錄建立,這也是框架被提取出來的目錄。
Figure 7. MyGame 目錄結構
建立出來的專案包含基本的遊戲(類)程式碼,資源(圖片,音訊等),以及每個框架支援的平臺專案。
構建 Android 應用程式
要求:
- 你需要配置構建 Android 遊戲應用程式所需的所有環境變數(Android SDK,Android NDK,以及 ANT)。如果你還沒有完成這個步驟,請檢視本文“建立第一個遊戲”的章節。
- 安裝 Java 開發套件(JDK)
注意:由於 Cocos2d-console 使用 javac 命令構建 Android 應用程式,所以 增加 JAVA_HOME 環境變數 (JDK 路徑)是必要的。
1 – 我們將為多個平臺編譯我們的遊戲,但是框架預設不會編譯 x86 和 armeabi-v7a 平臺。編輯位於以下路徑的 Application.mk 檔案:
C:/Users/intel-user/Desktop/cocos2d-x-3.3rc0/Project/MyGame/proj.android/jni
Figure 8. Application.mk檔案位置
2 –在檔案中增加下面一行內容:
APP_ABI := armeabi armeabi-v7a x86
Figure 9. 增加了 APP_ABI 行的 Application.mk 檔案
現在,我們增加了目標平臺,讓我們開始編譯遊戲吧!
3 – 使用命令列提示框,進入到框架目錄:
cd C:/Users/intel-user/Desktop/cocos2d-x-3.3rc0
4 – 執行下面的命令來編譯和執行 Android 平臺遊戲.
cocos run –s Project/MyGame –p android
Figure 10. 執行命令編譯和執行 Android 平臺遊戲
- run: 編譯和執行專案
- -s: 工程資料夾路徑
- -p: 選定的平臺
注意:如果只是編譯,請輸入: cocos compile –s Project/MyGame –p android
如果一切執行正常, cocos2d-console 命令將使用adb (如果在環境變數中配置了的話) 在連線的設定中,或者已經初始化的模擬器中,安裝APK檔案。如果它們不可用,命令將等待裝置或模擬器成為可用的狀態,如下圖所示:
Figure 11. 命令等待裝置或已初始化的模擬器
如果你已經初始化了模擬器或者已經連線了裝置,螢幕將會出現:
Figure 12. Android平臺的遊戲螢幕
構建Win32應用程式 (對應Windows* 7 或者 Windows* 8 桌面模式)
你需要Visual Studio* 2012 或者後續版本來構建。
1 – 使用命令列提示框(cmd.exe), 進入框架提取出來的目錄:
cd C:/Users/intel-user/Desktop/cocos2d-x-3.3rc0
2 – 執行下面的命令來編譯和執行Windows平臺下的遊戲:
cocos run –s Project/MyGame –p win32
Figure 13. 執行命令編譯和執行Windows平臺下的遊戲
引數的簡單說明:
- run: 編譯和執行選擇的專案
- -s: 專案資料夾路徑
- -p: 選擇的平臺
注意: 如果只需要編譯,請使用“compile” 代替“run”,像下面這樣:
cocos compile –s Project/MyGame –p win32
在執行完命令之後,如果一切執行正常,你將看到如下的螢幕:
Figure 14. 在Windows平臺下的遊戲螢幕
可以使用Visual Studio執行和編譯此遊戲工程:
1 – 在工程目錄中, 用Visual Studio開啟 “proj.win32”目錄下的 MyGame.sln 檔案.
Figure 15. Win32 工程目錄結構
2 – 編譯工程: 按F6鍵 (或 Build 選單 -> Build Solution) ,然後按 F5 執行 (或者 Debug 選單 -> Start Debugging). 經過編譯和執行後,你應該看到和通過控制檯操作相同的螢幕顯示.
Figure 16. Win32 project opened in Visual Studio*
到此,你應該知道如何為Android (x86 and ARM*), Windows 7和 Windows 8 (桌面模式)建立遊戲並編譯它!
引用
Cocos2d-x 框架原始碼使用MIT License開源協議, 你可以在這裡找到它.
Cocos2d-x 和相關的文件: http://www.cocos2d-x.org/
cocos2d-console: http://www.cocos2d-x.org/wiki/Cocos2d-console
注
目前, Cocos2d-x 3.3 存在不允許使用者建立專案的問題 (詳情參考 這裡). 這個問題已經在最新的預釋出版中修復, 但還存在在Cocos2d-x最新版中.
相關文章
- Docker 構建多平臺映象Docker
- Docker構建多平臺映象Docker
- Docker Buildx使用教程:使用Buildx構建多平臺映象DockerUI
- 使用Docker buildx 為 .NET 構建多平臺映象DockerUI
- 如何用遊戲化思維構建 "好玩" 的遊戲平臺遊戲
- 多平臺容器映象構建就看這一篇
- 《AI Dungeon》開發者獲得投資,構建AI遊戲平臺AI遊戲
- 使用ELK構建微服務的日誌平臺微服務
- 使用Electron構建跨平臺的桌面應用
- 使用Kubernetes 構建自動化平臺
- 使用 Flink Hudi 構建流式資料湖平臺
- 使用OpenStack構建Packet平臺的經驗總結
- (二)構建dubbo分散式平臺-平臺功能導圖分散式
- 構建dubbo分散式平臺-maven構建根專案分散式Maven
- AI雲平臺怎麼構建AI
- Spring Boot 構建多租戶SaaS平臺核心技術指南Spring Boot
- mac平臺多個php版本快速切換MacPHP
- (一)構建dubbo分散式平臺-平臺導語簡介分散式
- CMP雲管理平臺該如何構建?
- 用Elasticsearch構建電商搜尋平臺Elasticsearch
- 大資料分析平臺如何構建大資料
- 運用OpenStack構建高速雲平臺
- BBC如何使用團隊拓撲構建內部核心平臺?
- JNPF快速開發平臺3.0版本即將重磅釋出
- SOA構建電子政務平臺可用多種通訊手段訪問
- [平臺建設] HBase平臺建設實踐
- 使用React構建精簡版本掘金(四)React
- 使用React構建精簡版本掘金(三)React
- 使用React構建精簡版本掘金(二)React
- 使用React構建精簡版本掘金(一)React
- 構建dubbo分散式平臺-dubbo簡介分散式
- 企業如何構建內部開發者平臺?
- cordova + vue cli構建跨平臺應用Vue
- 使用 JS 構建跨平臺的原生應用:ListView 元件介紹JSView元件
- Swift3.0 -- 建構函式Swift函式
- 使用webpack構建多頁應用Web
- 使用Webpack構建多頁面程式Web
- 自編碼器AE全方位探析:構建、訓練、推理與多平臺部署