一 创建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 漏写方法调用的括号