我在我的C++代码端新建了一个类,继承自CCLayer类,我把这个对象的this指针
用
lua_pushlightuserdata(m_L, this);
lua_setglobal(m_L, "gameScene");
的方式传给lua中的一个全局变量gameScene=nil
在lua中新建了一个CCMenuItemImage对象,并调用加到我的gameScene上
function initGameScene()
local pCloseItem = CCMenuItemImage:itemWithNormalImage("images/CloseNormal.png", "images/CloseSelected.png")
pCloseItem:setPosition(winSize.width - 20, 20)
gameScene:addChild(pCloseItem)
end
然后用
lua_getglobal(m_L, "initGameScene");
//调用函数
int error = lua_pcall(m_L, 0, 0, NULL);
调用这个lua中的方法但是error的返回值为2,具体到出错语句为gameScene:addChild(pCloseItem),而我写成
function initGameScene()
local layerFarm = CCLayer:node()
local pCloseItem = CCMenuItemImage:itemWithNormalImage("images/CloseNormal.png", "images/CloseSelected.png")
pCloseItem:setPosition(winSize.width - 20, 20)
layerFarm:addChild(pCloseItem)
end
就不会报错,求解