我用cocos code ide新建了一个lua工程,然后自定义了一个场景,然后程序启动后加载这个scene,但是发现运行完后,直接退出了程序,经调试是因为进入了closeCallback这个函数。
先上代码:
function PuzzleScene:createLayer()
local layer = cc.Layer:create()
local s = cc.Director:getInstance():getWinSize()
local function closeCallback()
cc.Director:getInstance():endToLua()
end
-- add close menu
local closeItem = cc.MenuItemImage:create("CloseNormal.png", "CloseSelected.png")
closeItem:registerScriptHandler(closeCallback)
closeItem:setPosition(s.width - 30, s.height - 30)
local closeMenu = cc.Menu:create()
closeMenu:setPosition(0, 0)
closeMenu:addChild(closeItem)
layer:addChild(closeMenu)
local targetPlatform = cc.Application:getInstance():getTargetPlatform()
if (cc.PLATFORM_OS_IPHONE == targetPlatform) or (cc.PLATFORM_OS_IPAD == targetPlatform) then
closeMenu:setVisible(false)
end
return layer
end
```
我的本意是希望在点击了“关闭”按钮后才调用closeCallback,这应该要怎么写呢?