千百萬Java開發者的福音:跨平臺Cocos2d-Java遊戲引擎誕生


傳送門


CocosEditor官網:http://cocoseditor.com/

引擎工具下載及配置:Cocos2d-Java遊戲引擎和相關開發工具的安裝配置




前言


         跨平臺Cocos2d-Java遊戲引擎以及配套的CocosEditor2.0遊戲開發工具終於誕生了。使用Java語言來開發Cocos2d跨平臺遊戲, 和-lua,-js 的風格相近API,毋庸置疑,這確實是Cocos2d新的里程碑。歡迎來的Cocos2d-Java的世界;






全世界有多少 Java 開發者?


Oracle 說世界上有900萬 Java 程序員 ,Wikipedia說是1000萬,而 NumberOf.net 的哥們兒說的很精確:世界上有九百萬七千三百四十六個 Java 程序員。




爲什麼封裝Cocos2d-Java引擎


        一直以來,Java和C/C++,這兩種語言PK的非常厲害,不管是語言排行榜還是程序員圈子,總少不了各種口水和爭議;C/C++直接操控內存,確實高效無比,這也是很多遊戲引擎選擇C/C++的本質原因,也的確是明智的選擇,Java這塊是弱勢;當然,也因爲C/C++操控內存,導致了它的艱澀難學,想完全掌握,沒有個幾年內功還真辦不到,所以不少童鞋望而生畏;而Java因爲簡單易學,靈活快速,廣受程序員歡迎,有着大量的羣衆基礎,另外,很多遊戲需要快速開發移植髮布,不能一味追求遊戲高性能錯過多變的市場,性能和敏捷開發需要找到兩者的平衡點;這是我們封裝Cocos2d-Java的基本原因;

        回首一年前,,團隊正歷經刺骨的冬季,開始嘗試轉型手遊市場,首選是觸控的cocos2d,因爲團隊技術偏於Java,所以沒有選擇使用C/C++開發的cocos2d-x,而是使用了Cocos2d-js。中途使用cocos2d-js沒找到合適開發工具,於是團隊自己製作了一套基於intellij idea上的插件開發工具,命名CocosEditor。陸陸續續,插件也有不少開發者在使用,反映還好;雖然使用JS開發一直也不錯,但總是有些短板,而團隊也一直放不下Java這塊技術,於是嘗試封裝Cocos2d-Java。技術上主要依託還是cocos2d-x,只是多了一層jni封裝,沒很大的難處,主要在開發工具CocosEditor上費了不少時間。這是Cocos2d-Java誕生的基本經過;

       在製作Cocos2d-Java,我們內心充滿了矛盾和掙扎,也滿懷信心和夢想;Java在有着得天獨厚的優勢,可也有着不可避免的弱勢,前輩中Cocos2d-Android逐漸變成雞肋,市場上Java遊戲引擎鮮有成功案例,這讓我們感到特憂傷。可是我們又相信自己的技術,堅信這塊市場的巨大召喚(千百萬Java開發者),秉承着要在手遊領域做點什麼的夢想,所以也在堅定的走下去。



Cocos2d簡史


          2008年,早已萌生“一星期編寫一個遊戲”想法的Ricardo開發了cocos2d for Python,不久,蘋果發佈了iphone,也建立了app store,Ricardo抓住機會開發cocos2d for Objective-C,順勢而起,成爲當紅的手遊引擎。2010年,正在搞操作系統技術的王哲大神開發了cocos2d-x,藉助cocoachina社區和跨平臺等無與倫比的優勢迅速奪佔市場,隨後被觸控收入麾下的Cocos2d-x團隊也發佈了cocos2d-lua和cocos2d-js,於此同時ShinyCocos(Ruby bindings)、Cocos2D-Android(Java based)、cocosNet(Mono based)也各處落地開花;到現在,2014年,佔據頭號交椅的還是觸控的cocos2d-x。當然,2014年也迎來了跨平臺Cocos2d-Java了。



Cocos2d-Java介紹


  •  原理和性能:

          原理:和js-binding和lua-binding類似;採用jni方式封裝java調取c++,所以一切的根基還是cocos2d-x;

          性能:移植到Android:比cocos2d-js高;移植到ios:和cocos2d-js一樣


  • 爲什麼可以跨平臺android和ios:

      移植到android,天然就是可以,這個不用多說。而能移植到ios,  因爲ios本身沒有java虛擬機, 我們自己修改了一個開源項目Avian(java虛擬機),該虛擬機打包在用戶開發的ios遊戲裏面   所以成功實現cocos2d-java運行於ios系統;開發工具cocoseditor在你開發項目的編譯完成後 會把所有java代碼編譯成ios可用的.a庫,使用xcode導入該庫和java虛擬機庫 ,  移植很簡便


  • CDK (Cocos2d-Java Develop Kit) 開發包:

     cdk是coos2d-java開發包,通過該開發包,可通過任何java開發工具(例如 eclipse)開發cocos2d-java遊戲。當然在開發工具cocoseditor,它是已經內置的;

          bin目錄  :裏面存放了在電腦操作系統運行的java虛擬機,還有cocos2d-x的c++核心庫都打在dll文件裏面

          extreas目錄:裏面存放第三方庫,包括廣告、支付、分享等;

          lib目錄:這裏存放了和底層c++打交道的jni庫,是整個cocos2d-java的核心所在



  • 引擎Api結構,基本遵從-x, -js的結構,包括Sprite ,Direction, Layer,event,particle,ui,audio等基本概念;右側可以清晰的看到jni定義方式:public native static Sprite create(String fileName);



  • cocos2d-java代碼風格。看到下面代碼風格,功能是:新建一個精靈,設置相關屬性,加入根節點,然後runAction。基本只要熟悉cocos2d的童鞋都可能很快入手;






CocosEditor產品線


        我們團隊是Jetbrains公司的粉絲,Jetbrains是一家位於捷克的工具開發商,旗下包括Intellij Idea 、WebStorm、PhpStorm、AppCode等優秀的工具 ,CocosEditor都是依託於他們的產品而來;

        CocosEditor基本產品線結構:一個引擎及三個工具
  • Cocos2d-Java跨平臺引擎
  • 基於Intellij Idea終極版的插件:CocosEditor For  Cocos2d-JS
  • 基於Intellij Idea社區版的單獨工具:CocosEditor For  Cocos2d-Java
  • 基於AppCode和CppIde的工具: CocosEditor For  Cocos2d-X  (計劃中)
       



CocosEditor2.0介紹(因Cocos2d-Java而生的開發工具


  • CocosEditor2.0工具簡介
          cocoseditor2.0是基於Intellij Idea開放平臺上進行定製而來的手機遊戲開發工具,可運行在Window/Mac系統,1.x版本支持js和lua腳本語言。 2.x版本暫支持Java語言,所有遊戲發佈包可快速移植到Android和ios平臺。 工具集合代碼編輯,可見可得的場景設計,動畫製作,字體設計,圖片打包 、粒子編輯,物理系統,地圖等功能,且調試方便,和實時模擬。如果有興趣瞭解該工具源碼,可直接查看intellij idea community源碼,另外google的android studio也是源自於Intellij Idea開放平臺


         

  • 基本特徵:



 

  • 界面設計cce;總體上類似於android的xml界面設計,1 你可以通過拖動控件,可見即可得;2 你可以通過切換到Text目錄,通過xml編寫




  •  圖片TexturePacker自動打包:1.x版本你需要手動導入圖片進行TexturePacker,現在2.x版本通過識別便籤.plist直接自動圖片打包,省去不少功夫




  •  字體設計:通過截取圖片獲得圖片字體



 

  • 物理系統:通過可視化shape編輯物理形狀,這是2.x版本的特色。功能基本可用,但還存在一些改進的地方;




  • 代碼編寫和提示:intellij idea被成爲業內最好的java開發工具,對於這句話,我表示非常贊同;cocoseditor繼承了它的所有優點,代碼提示,代碼重構,代碼審查等,這一塊是開發者的福音




  • 模擬器和代碼調試:windows和mac上通過cocosplayer實時模擬調試,這是開發遊戲的標配。



 


  • 第三方sdk:內置豐富的第三方庫,滿足你大部分需要




  • 支持mac和windows雙系統開發





  • 快速發佈多平臺:ios和Android

                    





Cocos2d-Java開發的遊戲


基於cocos2d-java引擎的跳樓遊戲 ,成功發佈到app store和android市場,已驗證其跨平臺發佈

~  ios

下載鏈接:https://itunes.apple.com/us/app/jump-building/id890384335?mt=8


 

~ android

下載鏈接:http://url.cn/Kv7q3X






後記


  1   在此,提示一下,引擎和工具基本穩定可用,但不排除存在bug和小坑,如果你使用中遇到了,希望你可以向我們反饋,我們真誠感謝;

  2  cocos2d-java現在比較適合中小型遊戲,大型遊戲還沒經過驗證;另外引擎在熱更新和增量是存在薄弱的,我們會不斷的攻克技術難關;

  3  請放心使用,我們自己也在不斷通過開發遊戲讓這套系統更穩定更好用;

  4  感謝cocos2d-x,intellij idea,avian等的開源項目,讓我們可以站在巨人的肩膀上做一些有趣的事情;


  我們前行,只因爲相信;





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