一 創建cocos2dx lua項目的方法
1 通過cocos studio 2.3.2 win7 64位
=》如此即完成cocos studio的項目創建
“文件”菜單->新建項目->cocos項目->項目語言“Lua”->“完成”
2 通過cocos2dx自帶python創建腳本
輸入 cocos new testProject -p com.t.testProject -l lua -d D:\CocosDocuments\Cocos\CocosProjects
二 項目文件休整(目的是刪除quick-cocos2dx相關文件)
1 刪除CocosProjects\testProject\src 下的app, packages文件夾
2 改寫main.lua
require "config"
require "cocos.init"
-- cclog
local cclog = function(...)
print(string.format(...)) --sometime release_print work!
[plain] view plaincopy
end
-- for CCLuaEngine traceback
function __G__TRACKBACK__(msg)
cclog("----------------------------------------")
cclog("LUA ERROR: " .. tostring(msg) .. "\n")
cclog(debug.traceback())
cclog("----------------------------------------")
return msg
end
local function file_exists(path)
local file = io.open(path, "rb")
if file then file:close() end
return file ~= nil
end
local function main()
collectgarbage("collect")
collectgarbage("setpause",100)
collectgarbage("setstepmul",5000)
cc.FileUtils:getInstance():setPopupNotify(false)
cc.FileUtils:getInstance():addSearchPath("src")
cc.FileUtils:getInstance():addSearchPath("res")
local glview = cc.Director:getInstance():getOpenGLView()
local targetPlatform = cc.Application:getInstance():getTargetPlatform()
if cc.PLATFORM_OS_WINDOWS == targetPlatform then
glview:setFrameSize(960, 640)
end
--todo(**) add your code here
end
local status, msg = xpcall(main, __G__TRACKBACK__)
if not status then
print(msg)
end
三 調試
1 在cocos code ide(eclipse 內核) ,自帶lua運行套件
2 windows7 下,使用vs2012進行c++部分的調試
四 遇到的坑
1 lua中的文件名後綴拼寫錯誤,加載場景 csb文件時,一直爲空,還是和 c++一起聯調才查出原因
2 cocos code ide對cocos2dx-3.8的接口提示略渣,我查lua接口是用notepad++查找導出的lua函數的接口名這個方法
3 漏寫方法調用的括號