function addLeftCard(isVisible)
if self.left_CardSprite == nil then
self.left_CardSprite = cc.Sprite:create(Resources.IMG_PATH_HEADER.."desk/mj/dun.png")
self.left_CardSprite:setPosition(cc.p(0,0))
self.left_CardSprite:setVisible(true)
self:addChild(self.left_CardSprite,65)
end
local leftCard = string.format("%d",self.nRest)
if self.m_leftCardLabel ~= nil then
self.m_leftCardLabel:removeFromParent()
self.m_leftCardLabel = nil
end
self.m_leftCardLabel=cc.LabelTTF:create(leftCard, Resources.FONT_YAHEI, Resources.FONT_SIZE)
self.m_leftCardLabel:setPosition(cc.p(62,25))
self.left_CardSprite:addChild(self.m_leftCardLabel)
end
function removeLeftCardBg()
if self.left_CardSprite ~= nil then
if self.m_leftCardLabel ~= nil then
self.m_leftCardLabel:removeFromParent()
self.m_leftCardLabel = nil
end
self.left_CardSprite:removeFromParent()
self.left_CardSprite = nil
end
end
1.在removeLeftCardBg函数中移除addLeftCard函数所创建的对象self.left_CardSprite,应该写成上方代码形式,类似于c++中的析构,需要一层一层去删除;
2.如果写成
if self.left_CardSprite ~= nil then
self.left_CardSprite:removeFromParent()
self.left_CardSprite = nil
end
上述形式,认为移除父体,字体会紧跟移除的形式,第一次没问题,当多次执行的时候,会造成移除对象非法的错误
3.欢迎高手据上述指点lua中精灵的销毁机制
原文链接: https://www.cnblogs.com/ebchange/p/7122278.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/256407
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!