quick3.5 removeFromParent()导致的windows下模拟器崩溃问题

今天遇到一个问题,点击一个按钮,这个按钮所在的layer从scene移除:

1        local click = function ( event )
2          local StartScene=require("app/scenes/StartScene")
3             local tag = event.target:getTag()
4             if tag == 1 then
5                 cc.Director:getInstance():endToLua()
6                 elseif tag == 2 then
7                      self:removeFromParent()
8             end
9        end

这些代码在mac上运行的时候一直没有问题,今天在windows7机子上运行同一份代码结果崩掉了,模拟器窗口和调试窗口都卡住了。后来把问题代码集中到了self:removeFromParent()上,网上找了找,说使用延时删除,可以防止崩溃,于是把代码self:removeFromParent()改成了:

             local delay=cc.DelayTime:create(0.1)
             local callf=cc.CallFunc:create(function ( ... )
                  self:removeFromParent()
             end)
              self:runAction(cc.Sequence:create(delay,callf,nil))

不再崩溃。



原文地址:https://www.cnblogs.com/pixs-union/p/5350240.html