【发布时间】:2014-08-01 23:49:42
【问题描述】:
我正在尝试每隔随机秒生成一个随机数(最终目的是不时随机更改块的颜色)。
为此,我正在使用 Hump 库 (http://vrld.github.io/hump/#hump.timer)。
这是我目前的代码,我是 LUA/Love2d 编码的真正初学者。 它生成一个数字,并每秒钟显示一次,而不是每秒钟显示一次……(但也会生成随机秒钟)。 我真的不明白为什么它不起作用。
local Timer = require "timer"
function love.load()
text="t"
number2=1
end
local f = function()
math.randomseed(os.time())
number = math.random( 2,10 )
text="in " .. number2 .. " seconds (random)... random number =" .. number
return true
end
function love.update(dt)
number2 = math.random( 2,4 )
Timer.update(number2)
Timer.addPeriodic(number2, f)
end
function love.draw()
love.graphics.print( text, 330, 300 )
end
感谢您的帮助!
【问题讨论】:
-
在您的程序中只调用一次
math.randomseed(os.time())。 -
我的错,我删除了 love.update 中的那个,但问题仍然存在。
-
在更新后的代码中,你在
love.update中仍然调用了f,这意味着math.randomseed仍然被多次调用。 -
好的,我现在明白了。我还需要在函数中移动'number2',而不是在'love.update'中调用'f'......但是我遇到了每0.1秒打印一次文本的问题,所以我再次更改了代码并出现了与 Henri Ilgen 下面的建议类似!