当游戏完成时,重新启动场景。

当玩家完成游戏时,我希望场景可以重新启动,即我想重新加载当前场景。我尝试过 storyboard:reloadScene() 但没有成功。我还尝试清除场景并重新加载它,但同样没有任何结果。

local function onEveryFramePoop()
if(foodBalls) then
    for i = foodBalls.numChildren, 1, -1 do
        local ball = foodBalls[i]

        if(ball.y > 200 and not(ball.isBeingPooped)) then
            ball.isBeingPooped = true

            local function tempRemove()
                if(foodBalls.numChildren)then
                    ball:removeSelf()
                    ball = nil
                    print("removed")
                end
            end
            physics.removeBody(ball)

            transition.to(ball, {time = 2000, y = 400, onComplete = tempRemove})
            audio.play(fartSound)
        end
    end

    if(foodBalls.numChildren == 0 and food.numChildren == 2) then

        reward.playRewardAnimation()
        Runtime:removeEventListener("enterFrame", onEveryFramePoop)
        timer.performWithDelay(2500, reloadSceneWithDelay)
    end
  end
end

function reloadSceneWithDelay()
     storyboard.gotoScene("levels.levelDigestion") -- **在这里我想重新启动场景**
end

根本没有任何事情发生。我在这里错过了什么?

点赞
用户2186639
用户2186639

我没有使用storyboard,但你可以尝试这样做:

在storyboard中创建一个黑色场景 然后,当你想重新启动时,只需进入黑色场景,然后进入你想要进入的场景。

问题可能在于你正在尝试从模块中调用自身。

2013-04-05 11:29:37