cocos2d-x+lua開發模式下編輯器的選擇,cocos2d-xlua

來源:互聯網
上載者:User

cocos2d-x+lua開發模式下編輯器的選擇,cocos2d-xlua

        原本打算直接用CocosIDE的,畢竟是官方出品,而且支援Android遠端偵錯,windows下的調試也很方便,調試的資訊也很全,智能提示也不錯。好了,一切看上去很完美,但是它有一個致命缺陷,就是繼承了eclipse一貫的特性--“卡”。基於java寫的eclipse我一直使不慣,一方面是快速鍵跟vs迥異,而我又懶得去配置(如果他能像IntelliJ IDEA一樣,可以方便的重複資料刪除快速鍵,我還有興緻去配置一下,但是重複的快速鍵沒有任何提示,只是在使用的過程中會有各種問題),另一方面就是記憶體佔用高,卡成翔了。經常打兩個字母IDE就卡一兩秒鐘,當需要代碼提示的時候等它提示出來的功夫我早就手打完了。用CocosIDE寫代碼很不順手,各種心煩意亂。

       所以我花了一個下午嘗試了幾個對Lua支援比較好的編輯器,但都是各有各的優點,也各有各的缺點。不像c++,vs+va幾乎完美。

1、IntelliJ IDEA Community Edition 

      這個是跟eclipse同等地位,但是各方面都優秀很多的IDE,Android後來也基於這個搞了個Android Studio,試圖取代基於eclipse的ADT。

      優點是效能優異,代碼提示方便(手打的過程中直接提示,而且幾乎沒有卡頓)。如果我是java開發那就是不二選擇。

      不過我實驗了一下它的lua外掛程式,感覺不是很好用。在提示上反而更像一個文字編輯器而不像一個智能的IDE(合情合理,畢竟只是一個外掛程式),這個比CocosIDE要差很多。理論上好好設定下lua的提示檔案(跟cocoside格式不同,而且感覺資訊很少,比如就沒有函數參數資訊和返回值資訊)是可以達到比較理想的效果的。但是可惜我不會......


2、Lua Studio

       這個貌似是國人寫的。非常不錯,速度很快,代碼提示也很不錯。直接支援cocos2d-x 3.x的版本。而且也支援outline等功能。 不過它有一個致命的問題,就是它沒有直接運行程式的功能,只有偵錯工具的功能。而偵錯工具串連CocosIDE的run time程式非常慢,要十秒鐘才能啟動程式。而我寫lua程式,調試可以偶爾為之,但是運行程式必然是經常性的。 這點我就無法接受了。 當然我也可以把它當做純lua文字編輯器,直接運行程式。 不過那樣我又要改動run time的代碼,加入Console視窗來輸出log資訊,否則哪裡出錯都不知道。

       我有些思考,即便做到了99%,但是有一點沒有做好也可能造成使用者流失。 甚至這一點沒有做好都不一定是軟體本身的問題,有可能是使用者無知或者誤操作。但是現實就是使用者流失,說多少遍“這不是我的錯”都沒用。 軟體如此,遊戲也是如此。


3、Bade vs plugin

      這個是一個vs外掛程式,同樣具備調試功能。可以跟vs比較不錯的嵌入到一起。 缺點是沒有真正的代碼提示。 只有本檔案內輸入的提示。


4、Sublime Text3

      試了幾個都有不爽的地方,最後還是回到了Sublime Text。 曾經我是用Vim的,但是用了Sublime Text,我就不想去碰Vim了,同樣是跨平台、支援各種外掛程式、功能強大的編輯器,我為什麼不使用一個簡潔漂亮的,而認為一個編輯器要分三種操作模式才是高大上?

      當然就像Vim雖然可擴充,但是本質只是一個文字編輯器而不是IDE。不過我們寫lua指令碼也同樣不是寫c++代碼,並不需要多麼強大的IDE支援。

      Sublime本身對lua就有一定的支援,而且編輯器本身就有強大的代碼補全、檔案搜尋、檔案跳轉、內容跳轉等功能,所以基礎功能是沒什麼問題了。 網上還有一個QuickXDev的外掛程式,是給quick-cocos2dx開發用的。不過由於cocos2-x v3 lua綁定方式改變了,所以對cocos2d-x原生的代碼提示還沒有完成,只有lua部分。

      另外我添加了一個Cocos2dx的Build選項,說是Build,其實就是運行Runtime程式。log可以直接在Sublime中輸出。

      選擇Tools--Build--New Build System,將下面的代碼拷貝過去,並儲存,然後就可以選擇這個Build了。

{    "cmd": ["E:\\Code\\runtime\\win32\\game.exe", "$file"],    "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",    "selector": "source.lua",    "shell": true,    "working_dir" : "E:\\Code\\runtime\\win32"}

       其中cmd是程式的目錄,shell為true可以讓程式獨立顯示出來,否則只是命令列輸出在sublime中,working_dir顧名思義就是工作目錄(資來源目錄)。


總結:暫時沒有盡善盡美的編輯器,我現在打算用Sublime Text3,雖然他也不完美,但是擴充性良好,而且就文字編輯器來說是接近完美的。

       


cocos2d-x怎與Lua想結合使用 具體點

cocos2d-x帶有lua引擎了。看看這個。雖然是英語,但是很容易懂。
Cocos2d-x NEW Lua Engine README
Main features
Support autorelease CCObject object.
Call Lua function from C++ (local, global, closure), avoid memory leaks.
Add CCNode:setPosition(x, y), CCNode::getPosition() huge performance boost.
Remove needless class and functions from tolua++ .pkg files, improved performance.
CCMenuItem events handler.
CCNode onEnter/onExit events handler.
CCLayer touch & multi-touches events handler.
看看這2個串連。
www.cocos2d-x.org/...uments
Scripting and Translating between Programming Languages
 
vs2012開發cocos2dx調用lua報錯

請檢查luaXML.lua LuaXML_lib.lua 的路徑和 require("luaXML")是否一致,錯誤提示是找不到此檔案!
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.