使用Corona,当我从表中删除它时,我想移动对象。问题是我在每一帧上迭代表。当x> WIDTH - 50我希望猴子停止以正弦波形式移动并跳转到removeMonkeys函数。
我的代码:
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 :(得分:0)
不确定你在这里问的是什么,但是如果你的transition.to不起作用,请检查你是不是在你做的时候杀死了对monkeySet [i]的唯一引用
table.remove(monkeySet, i)