在Eclipse中搭建quick-cocos2d-x的lua開發環境

在Eclipse中搭建quick-cocos2d-x的lua開發環境

1. 首先需要給eclipse裝一個lua的plugin(google之), 或者直接下載ldt集成開發環境(http://www.eclipse.org/koneki/ldt/), 目前穩定版本是0.9。

2.通過git工具clone: https://github.com/dualface/quick-cocos2d-x,比如我放在e盤. 如果你後面需要重新編譯quick,那你需要git submodule update一下 cocos2dx的代碼,具體參考quick說明。

3. 嘗試運行E:\quick-cocos2d-x\sample\CoinFlip\run_simulator_win32.bat, 如果你是xp系統,可能會彈出無法定位inet_ntop這些錯誤, 這是因爲quick裏使用了luaSocket,而它使用了一些winXP不支持的系統API, 我修改了部分socket代碼,在WIN32下替換了這些API的調用,https://github.com/laomoi/c2x_lua_bindings/tree/master/luasocket_winxp_patch 把這裏面的3個文件替換掉lua_extension/socket裏的文件後再重新編譯生成模擬器。

4. 打開ldt,新建lua工程(以sample\CoinFlip爲例)

5. 留意到ldt自帶了一個lua5.1的execution environment, 這個東西主要是爲了實現代碼提示用的, 默認它支持了lua5.1的一些系統API, 比如io, os, math這些

6. 爲了支持語法提示Cocos2dx和quick額外添加的一些lua bindnig和 quick framework,我們現在需要重新制作一個execution environment之後替換這個默認的lua 5.1.

詳細製作的過程可參考https://github.com/laomoi/lua_complete_eclipse, 這裏我們直接下載我之前生成好的execution environment, 然後在項目裏添加進來

添加成功後, 項目目錄應該如圖所示, 下面有個quickLua.(debugger.lua如果沒有不要緊,後面步驟會添加進去)

如果此時還沒看到圖中所示的quickLua, 那麼重新在項目屬性裏, Lua->BuidPath->Libraries-> 點擊Add Library重新添加一下 quickLua。

7. 在代碼裏試試看是否已經能彈出語法提示了

8. 下面配置調試環境讓ldt支持在quick的模擬器裏斷點調試

點擊debug,就會啓動一個debug的偵聽器等待lua程序通過socket連進來, 默認是30秒超時。

9. Lua程序要連進來,需要Luasocket的支持(參考第3步說明), 同時需要在項目裏引入一個debugger.lua文件,這個文件可以在ldt裏面生成導出

只是0.9版本的ldt默認導出的debugger文件不支持luajit,而quick使用了luajit2,所以我們需要重新制作一個debugger.lua, 這裏已經有個猛男製作好了:

gist.github.com/jdesgats/5383865/raw/56591f94f48a253a821a5610525b402206c3df96/debugger.lua

直接下載拷貝到你的scripts目錄裏

然後在項目lua代碼開頭(比如game.lua,或者main.lua)加以下代碼

local initconnection = require(“debugger”)
initconnection(’127.0.0.1′ , 10000 , ‘luaidekey’)

10. 嘗試一下斷點調試, 比如在scene/MenuScene 開頭加個斷點, 然後ldt開啓debug偵聽, 接着運行sample\CoinFlip\run_simulator_win32.bat, 順利的話你會看到模擬器啓動話,就停在斷點上了

11. 你可能會發現調試時無法跳入quick framework裏的代碼,比如display.lua裏的函數執行無法跳入。簡單的解決方法是, 把framework拷貝入你的項目目錄, 然後註釋掉 main.lua裏的CCLuaLoadChunksFromZip(“res/framework_precompiled.zip”)

再進行調試就可以跳進display.lua了。

12. ldt默認會解析execution environment裏面和 build-source裏面的lua文件,如果你發現你自己寫的lua文件沒有 被解析到,請檢查

A. 你的代碼文件文件是否在build-source裏, 右鍵屬性, build, source-path 進行查看
B. 是否依照了 ldt規定的文檔格式寫了註釋 ,參考 http://wiki.eclipse.org/Koneki/LDT/User_Area/Documentation_Language


http://www.swfdiy.com/?p=1397

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