es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Llamando a una función en intervalos de tiempo aleatorios en Lua con Love2d

    Para llamar a una función en intervalos de tiempo aleatorios en Lua con Love2d, puedes usar la función getTime() del módulo love.timer para obtener el tiempo actual en segundos y luego utilizar el operador de módulo % para determinar si ha pasado el tiempo deseado. Aquí tienes un ejemplo:

    local function miFuncion()
      -- hacer algo aquí
    end
    
    local ultimoTiempo = love.timer.getTime()
    local intervalo = 5 -- llamar a la función cada 5 segundos
    
    function love.update(dt)
      local tiempoActual = love.timer.getTime()
      if tiempoActual - ultimoTiempo >= intervalo then
        miFuncion()
        ultimoTiempo = tiempoActual
        intervalo = math.random(1, 10) -- aleatorizar el intervalo entre 1 y 10 segundos
      end
    end
    

    En este ejemplo, tenemos una función miFuncion() que queremos llamar en intervalos de tiempo aleatorios. Creamos una variable ultimoTiempo y la establecemos como el tiempo actual. También establecemos una variable intervalo para determinar cada cuánto tiempo queremos llamar a la función (en este caso, cada 5 segundos).

    En la función love.update() (que se llama en cada fotograma), obtenemos el tiempo actual y comprobamos si ha pasado suficiente tiempo basándonos en la variable intervalo. Si ha pasado suficiente tiempo, llamamos a miFuncion(), actualizamos ultimoTiempo al tiempo actual y aleatorizamos la variable intervalo a un número nuevo entre 1 y 10 segundos.

    Esto permitirá llamar a miFuncion() en intervalos aleatorios entre 1 y 10 segundos (o cualquier rango que desees).

Comments are closed.