如何在游戏运行时更新变量?

你看,我之前用 Pygame 或其他库,一直都有一个“主循环”的概念。但 Corona 程序似乎更像是 GUI,更加隐式地处理事件。问题是,我有一个分数变量:

local score = 0

然后我想这样做:

while running do
    score = score + 1
end

但这样 Corona 程序就会崩溃。我想这不是更新变量的正确方式(分数需要在游戏运行时更新)。那应该怎么样更新变量呢?(不需要点击或者敲打等方式)

点赞
用户3455883
用户3455883

在Corona中,“游戏循环”是通过在Runtime上添加一个监听器来创建的,用于enterFrame事件。该监听器每帧调用一次,可以用于更新任何你喜欢的内容。

你可以阅读互动和事件检测指南获取更多信息。

2017-04-17 19:45:15
用户7026995
用户7026995

我同意 @GoojajiGreg 的观点。请尝试以下代码:

local function loop( event )
    print( "enterFrame called at time: " .. event.time )
end

Runtime:addEventListener( "enterFrame", loop)
2017-04-18 08:36:45