我现在有个问题,我是用Cocos2d-x lua写的工程,其中有个导弹类(不太会封装),
local daodan = class(“duodena”,function()
return cc.sprite:create()
end)
self.scheduleID = nil --导弹的定时器
functiondaodan:create()
local d= daodan:.new()
if d ~= nil then
–todo
table.insert(daodanTable, d)
d:init()
end
return d
end
function duodena:update()
– 判断导弹和玩家碰撞,碰撞就跳转场景
localscene= gameOverScene.create()
cc.Director:getInstance():replaceScene(cc.TransitionFade:create(1,scene))
for i = 1, #daodanTable then
-- 这里如何将所有导弹移除啊
end
cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.scheduleID)
self.scheduleID = nil
end
self.scheduleID = cc.Director:getInstance():getScheduler():scheduleScriptFunc(update,0,false)
return daodan
我这里会有问题,我是在游戏场景里,没隔一段时间添加一个导弹的,问题就来了,在导弹类里判断的,此时有一个导弹碰撞了,self.scheduID只是碰撞的导弹停掉了定时器,而游戏里还有其他导弹的定时器一直在刷新,比如打印一句话,会一直打印,我这里逻辑可能不太好,但是我就想问问,在这里怎么从表里拿到所有导弹,然后全部停掉定时器