生成随机数,但LUA / Love2d中的每个随机秒数

时间:2014-06-11 19:30:43

标签: random lua love2d

我试图生成一个随机数,每隔一秒(最终目的是随机改变一个块的颜色)。

为此,我使用的是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

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

虽然我不熟悉Hump,但似乎您可以轻松地使用计时器的添加功能,因为它会在x秒后调用该函数一次,允许您以不同的延迟安排下一次执行:

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

local function tick()
  -- Generate random number
  local newNumber = math.random(2, 10)
  local newDelay  = math.random(2,  4)
  text = ("Current number: %d, next in %d seconds!"):format(newNumber, newDelay)

  -- Actually schedule the next call
  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