我在lua中对精灵进行了retain()操作,如果在C++中我可以在Layer的析构函数中用release()释放这些精灵,可是lua里没有析构函数,如果我想让这些精灵随着Layer一起释放,我该如何做?
self:registerScriptHandler(register(self, self.onNodeEvent));
–
场景进入时调用函数
–]]
function BattleLayer:onEnter()
– CCSpriteFrameCache:sharedSpriteFrameCache():removeUnusedSpriteFrames();
CCTextureCache:sharedTextureCache():removeUnusedTextures();
return true;
end
–
场景释放时调用函数
–]]
function BattleLayer:onCleanup()
BattleUIManager:destroyInstance();
– ShowCard:destroyInstance();
GUIReader:purge();
CCSpriteFrameCache:sharedSpriteFrameCache():removeUnusedSpriteFrames();
return true;
end
–
场景进入退出函数
–]]
function BattleLayer:onNodeEvent(event)
if (event == “enter”) then
return self:onEnter();
elseif (event == “cleanup”) then
return self:onCleanup();
end
return false;
end
local function onNodeEvent(event)
if "exit" == event then
self.sprite:release()
end
end
self:registerScriptHandler(onNodeEvent)
谢谢!!!