在corona sdk中需要类似于wait或delay的函数。

我正在使用 Corona 制作一个游戏。我正在寻找一种方法来让我的代码停顿 5 秒钟。我尝试了 timer.performWithDelay,但它没有起作用,我需要可以停止整个代码 5 秒钟的东西。有人能帮我吗?

我想在这个 transition 后等待 5 秒钟,然后继续执行代码。

transition.to(block[old], {time=tranTime, x=block[new].x, y=block[new].y})
transition.to(block[new], {time=tranTime, x=block[old].x, y=block[old].y})
点赞
用户2130287
用户2130287

无法停止代码一段时间,但可以在转场中使用 onComplete 事件来实现。例如:

local function1 = function()
    print("这将在转场完成后显示。")
end

transition.to(block[old], {time=tranTime, x=block[new].x, y=block[new].y, onComplete=function1})
transition.to(block[new], {time=tranTime, x=block[old].x, y=block[old].y})
2013-06-27 19:14:36
用户1979583
用户1979583
local function yourFunction()
  print("这个函数会在block[old]的过渡完成五秒后被调用...")
end

local function transitionFinished()
  print("block[old]的过渡已完成...")
  timer.performWithDelay(5000,yourFunction,1) --[[ 如果你想的话,你可以使用这行代码在想要的时间(这里是五秒)之后调用 'yourFunction'
                                              --]]
end

transition.to(block[old], {time=tranTime, x=block[new].x, y=block[new].y, onComplete=transitionFinished})
transition.to(block[new], {time=tranTime, x=block[old].x, y=block[old].y})

或者,如果你想暂停所有的过渡,有许多自定义类可以使用,你可以像DevfaR所说的那样使用其中之一。

或者,如果你想在一段时间后执行一个过渡,你也可以使用:

transition.to(block[old], {delay=1000,time=tranTime, x=block[new].x, y=block[new].y})
-- 这个过渡会在延迟1000ms后被调用 --

继续编写代码...... :)

2013-06-28 04:36:10