2013-03-05 52 views
0

使用Corona时,我想在将对象从表格中删除时移动对象。问题是我在每一帧上迭代表格。当x> WIDTH - 50时,我希望猴子停止以正弦波形式移动并跳到removeMonkeys函数中。Corona,transition.to在从表格中删除后

我的代码:

local function removeMonkeys(obj) 
    transition.to(obj, {time = 1500, y = 2*HEIGHT/3, onComplete = obj:removeSelf()}) 
    numMonkeys = numMonkeys - 1; 
end 
function startGame() 
    timer.performWithDelay(500, spawn, maxNumMonkeys) 
    local function onEveryFrame(event) 
    for i = 1, #monkeySet do 
     if(monkeySet[i] ~= nil) then 
      monkeySet[i].x = monkeySet[i].x + 2 
      monkeySet[i].y = monkeySet[i].y + math.sin(monkeySet[i].x/monkeySpeed)*Amplitude/5 
      if(monkeySet[i].x > WIDTH -50) then 
       removeMonkeys(monkeySet[i]) 
       table.remove(monkeySet, i) 
       print(#monkeySet) 
      end 
     end 
    end 
end 
Runtime:addEventListener("enterFrame", onEveryFrame) 

有什么我错过这里?

回答

0

不知道你要问什么在这里,但如果你的transition.to不工作检查你是不是你杀至monkeySet唯一的参考文献[1]当你做

table.remove(monkeySet, i)