在Layer的onExit()方法中调用
self:removeAllNodeEventListeners()
导致player卡死,应该是出现死循环了
之前有人发帖遇到类似的问题
但是没有贴出代码
这里贴上我的测试代码
IntroLayer = class("IntroLayer", function()
return display.newLayer()
end)
function IntroLayer:ctor()
printInfo("IntroLayer:ctor")
local button = cc.ui.UIPushButton.new("button.png")
button:pos(display.cx, 100)
button:onButtonPressed(function(event)
event.target:setScale(1.1)
end)
button:onButtonRelease(function(event)
event.target:setScale(1.0)
end)
button:onButtonClicked(function(event)
require("app/Scenes/MainScene/MainScene")
local mainScene = MainScene:new()
display.replaceScene(mainScene)
end)
self:addChild(button)
-- Node事件
self:setNodeEventEnabled(true)
end
function IntroLayer:onEnter()
printInfo("IntroLayer:onEnter")
end
function IntroLayer:onExit()
printInfo("IntroLayer:onExit")
self:removeAllNodeEventListeners() -- 增加这一句出错
end
```