版本是3.3rc1
btn:retain()
self:add(btn)
btn:setPosition(display.cx, display.cy)
btn:removeSelf()
btn:setTouchEnabled(true)
self:add(btn)
然后就无法响应点击事件了。。。
版本是3.3rc1
btn:retain()
self:add(btn)
btn:setPosition(display.cx, display.cy)
btn:removeSelf()
btn:setTouchEnabled(true)
self:add(btn)
然后就无法响应点击事件了。。。
经测试
把btn:removeSelf()
改成 btn:remoeFromParent(false) 可以避免点击失效
楼主这写法看不太懂,为什么要先移除然后又加上去。removeSelf都会删除对象,自然不响应触摸了
这样写只是为了重现
而有几种场景可能会出现这种情况
1.单例的一个 alert 对话框。里边有按钮,可能好几个场景都会弹这个 对话框,势必会移除再添加的
2.button 对象池,避免多次new新的 button 等等
如果removeSelf 会删除对象的话,那他就不应该还会显示按钮的图像的。
按照2dx的习惯的话。我retain了这个按钮 除非我release了。他才会真正的被释放。