cocos2d-js專案釋出
Cocos2d-JS最引以為傲的能力就是完美的一次開發,全平臺部署得能力。得益於3.0版中Web引擎和Native引擎的整合,Cocos2d-JS為Web和各原生平臺開發提供了一套統一的工作流,開發者只需要關注自己的JavaScript程式碼,我們提供了Cocos Console工具幫助使用者管理開發以及釋出的流程。
Cocos2d-JS v3.0框架:
從這張架構圖中可以看出,Cocos2d-JS對Web平臺的支援主要是通過Web引擎Cocos2d-html5做到的,而對Native平臺的支援是以Cocos2d-x為核心,通過SpiderMonkey這個JavaScript編譯器來執行JavaScript程式碼,並通過JavaScript繫結技術將其API對映到Cocos2d-x的API上。這兩方面的技術從引擎的v2.x時代就已經成熟了,而Cocos2d-JS v3.0首次將兩者整合到一起,統一併簡化它們的API,真正做到一套程式碼,全平臺執行。這也就是圖中的Cocos2d-JS API層,不同平臺,不同裝置之間的差異被透明化,開發者開發跨平臺遊戲自然也變得前所未有得簡單。
Cocos2d-JS引擎所支援的平臺包括:
-
桌面瀏覽器(Chrome, Safari, Firefox, Opera, IE9+)
-
移動瀏覽器(Android, iOS)
-
iOS
-
Android
-
Mac OS X
-
Windows
1.下載引擎包
請前往引擎下載頁面下載最新的引擎包。下載完成後包內容如下所示:
2. 安裝Cocos Console
前文提到Cocos2d-JS的API簡化和統一,另一方面,我們還通過Cocos Console工具統一了不同平臺下的工作流,下面將介紹如何安裝和使用Cocos Console完成從工程建立到釋出的工作流。
引擎包下載完成後,請在控制檯中執行setup.py(windows平臺使用者可能需要先安裝
一些有用的連結和安裝指引:
* 下載Ant。
* 將Ant解壓到你指定的資料夾。
* 設定JAVA_HOME環境變數到你的Java路徑,ANT_HOME到剛剛解壓的資料夾,再將${ANT_HOME}/bin (Unix)或%ANT_HOME%/bin (Windows)加入到PATH中。
1 2 3 |
// Example: 在命令列中執行或新增到.bash_profile(Mac)
export ANT_ROOT=/usr/local/ant/bin
export JAVA_HOME=/usr/local/jdk1.7.0_51
|
3. 工程建立
使用Cocos Console建立工程非常簡單,安裝完cocos命令之後,只需要在需要建立工程的目標目錄下開啟終端或命令列工具,輸入下面的命令即可:
1 |
cocos new -l js ProjectName
|
建立成功之後就會在目標目錄下發現ProjectName資料夾,這個工程將可以被髮布到所有支援的平臺。新建立工程的目錄結構與引擎包有一些區別,下面是詳細的列表介紹:
4. 快速開發能力
具體的Cocos2d-JS API使用以及開發技巧並不在本章的討論範圍內,但在本章工作流的討論中需要提到的是,Web平臺支援給Cocos2d-JS帶來了非常優秀的快速原型和快速開發能力。
我們建議開發者在原型階段甚至開發階段使用Web平臺進行遊戲邏輯除錯的原因有下面幾點:
-
點選即玩,不需要編譯,並且修改程式碼後只需要重新整理頁面即可看到效果。
-
瀏覽器強大的JavaScript除錯工具,可以參考Google Chrome DevTools簡介,它可以幫助開發者快速定位和解決問題。同時也解決了Xcode和Visual Studio等IDE無法除錯JavaScript指令碼程式碼的問題。
-
更符合JavaScirpt開發人員的習慣。
5. Native平臺編譯
5.1 Cocos Console
在Web平臺除錯完成之後,如果開發者需要將遊戲釋出到原生平臺,那麼還需要針對相應平臺進行編譯除錯工作。Cocos Console再次提供了非常便捷並且統一的編譯能力,使用cocos compile命令即可將工程編譯到不同平臺:
1 2 3 4 5 6 7 8 9 10 11 12 |
// 在專案目錄下開啟終端並執行
// -p指示目標平臺,包括web,ios,mac,android,win32,每次編譯請選擇其中之一
cocos compile -p web|ios|mac|android|win32
// 除此之外,還可以選擇編譯模式:-m debug|release
// Web平臺還可以新增--advanced來使用Closure Compiler的高階混淆功能對程式碼進行混淆
cocos compile -p android -m release
cocos compile -p web -m release --advanced
// 將compile命令替換為run即可在模擬器或真機上運行遊戲
cocos run -p web
cocos run -p ios
|
關於Cocos Console更詳細的使用方式,請參考Cocos Console文件。
5.2 使用各平臺IDE編譯
在frameworks/runtime-src/目錄下,開發者可以找到各平臺的工程檔案,包括:
-
proj.ios_mac:可用於Xcode的iOS和Mac OS X專案資料夾
-
proj.win32:可用於Visual Studio的Windows專案資料夾
-
proj.android:可用於Eclipse的Android專案資料夾
6. 專案釋出
6.1 Mac/Win32平臺釋出
直接執行
1 |
cocos compile -p mac|win32 -m release
|
即可打包出發布包,執行成功後可以在publish/目錄下找到可執行檔案。
6.2 iOS平臺釋出
執行
1 |
cocos compile -p ios -m release --sign-identity "iPhone Distribution:xxxxxxxx"
|
使用你自己的釋出簽名來打包出發布包,結果同樣可以在publish/目錄下找到。
6.3 Android平臺釋出
執行
1 |
cocos compile -p android -m release --ndk-mode release
|
打包出apk包。
在publish/目錄下找到打包出的apk,使用jarsigner工具對該apk添加簽名,具體步驟見Google官方文件。
6.4 Web平臺釋出
執行
1 |
cocos compile -p web -m release
|
既可在publish/目錄下生成獨立的釋出資料夾,將該資料夾部署到你的伺服器上,使用者即可訪問。
命令中新增--advance可以開啟closure compiler工具高階壓縮功能,該模式對程式碼有一定要求,如果發現打包之後無法正常執行請參考Closure Compiler Advanced Compilation文件。