Hi!
I have class implementation for spawn display object.
its “new()” method looks like:
[lua]function obj:new (inp)
inp = inp or {}
setmetatable(inp, self)
self.__index = self
inp.image = display.newImageRect(inp.image, inp.width, inp.height)
inp.image:addEventListener (“touch”, inp:move())
inp.image:addEventListener (“collision”, inp:collide())
inp.checkPosTimer = timer.performWithDelay(5, inp:check_pos(), 0)
inp.checkGameStateTimer = timer.performWithDelay(5, inp:check_game_state(), 0)
return inp
end[/lua]
You can see, that i added few timers and eventlistenrs in every new object.
also, i have “destroy()” method:
[lua]function obj:destroy ()
timer.cancel(self.checkPosTimer)
timer.cancel(self.checkGameStateTimer)
self.image:removeEventListener(“touch”, self:move())
self.image:removeEventListener(“collision”, self:collide())
display.remove(self.image)
self = nil
end[/lua]
But i saw, that only timers removed properly. And i can’t delete listeners. What am i doing wrong? [import]uid: 41345 topic_id: 12947 reply_id: 312947[/import]