Solar2D中不同时间过渡

有没有办法防止字符同时开始?我尝试了这个但每个字符在动画开始时仍然立即开始动作,即使我添加了延迟。

--runningPG1.. runningPG5已附加精灵和坐标
arrayPg = {runningPG1, runningPG2, runningPG3, runningPG4, runningPG5}

for key, value in pairs(arrayPg) do
    transition.to(value, { y = value.y+350, time = 1500})
    transition.to(value, { x = value.x-740, time = 2500, delay = 1550 })
    transition.to(value, { y = value.y+825, time = 2500, delay = 4100 })
end
点赞
用户1633510
用户1633510

如果你想让它们在不同的时间开始,我认为你需要根据循环中的数字添加延迟。例如:

--runningPG1.. runningPG5 have attached a sprite and coordinates
arrayPg = {runningPG1, runningPG2, runningPG3, runningPG4, runningPG5}

baseDelay = 0
for key, value in pairs(arrayPg) do
    transition.to(value, { y = value.y+350, time = 1500, delay = baseDelay })
    transition.to(value, { x = value.x-740, time = 2500, delay = baseDelay + 1550 })
    transition.to(value, { y = value.y+825, time = 2500, delay = baseDelay + 4100 })
    baseDelay = baseDelay + 500
end

或者你也可以使用随机延迟:

for key, value in pairs(arrayPg) do
    baseDelay = math.random(0, 2000)
    transition.to(value, { y = value.y+350, time = 1500, delay = baseDelay })
    transition.to(value, { x = value.x-740, time = 2500, delay = baseDelay + 1550 })
    transition.to(value, { y = value.y+825, time = 2500, delay = baseDelay + 4100 })
end
2021-01-13 18:31:22