在LUA/Love2d中生成一个随机数,但每隔一段随机秒数生成一次。

我正在尝试生成一个随机数字,每随机秒(最终目的是随机地改变块的颜色)。

为此,我正在使用Hump库(http://vrld.github.io/hump/#hump.timer)。

这是我目前的代码,我是LUA / Love2d编码的真正新手。 它会生成一个数字,并每秒显示一次,而不是每随机一分秒...(但是随机秒数也会生成)。 我真的不明白为什么它不起作用。

local计时器=需要“定时器”

function love.load()
文字=“ t”
number2 = 1
结束

本地f = function()
math.randomseed(os.time())
号码= math.random(2,10)
文字=“在”.. number2 ..“秒钟(随机)...随机数字=”.. number
返回真实
结束

function love.update(dt)

number2 = math.random(2,4)
计时器。更新(number2)
计时器。添加周期性(number2,f)
结束

function love.draw()
love.graphics.print(文字,330,300)
结束

感谢任何帮助!

点赞
用户570336
用户570336

虽然我不熟悉 Hump,但看起来你可以轻松使用计时器的添加函数来实现你的目的,因为它将在 x 秒后精确调用函数一次,允许你安排下一个执行并设置不同的延迟:

local timer = require("timer")
local text = ""

local function tick()
  --生成随机数
  local newNumber = math.random(2, 10)
  local newDelay  = math.random(2, 4)
  text = ("当前数字:%d,%d 秒后下一个!"):format(newNumber, newDelay)

  --实际安排下一个调用
  timer.add(newDelay, tick)
end

function love.load()
  tick()
end

function love.update(dt)
  timer.update(dt)
end

function love.draw()
  love.graphics.print(text, 330, 300)
end
2014-06-12 12:11:55