【问题标题】:How do i make the game wait on Love2D?如何让游戏在 Love2D 上等待?
【发布时间】:2023-03-23 17:49:01
【问题描述】:

如何让 Love2D 等待几秒钟?我试过这段代码

function love.load()
    face=love.graphics.newImage("face.png")
end

function love.draw()
     love.graphics.draw(face,400,300)
     love.timer.sleep(1)
     love.graphics.draw(face,200,600)
end

然后屏幕变白了一点,然后图像出现了。 如果有人帮助我,我将不胜感激

【问题讨论】:

    标签: lua wait love2d


    【解决方案1】:

    love.timer.sleep 会冻结整个程序,因为当你运行它时,一切都会停止,直到它完成

    cron.lua 非常适合在特定时间间隔执行操作。

    local clock = cron.after(time, callback, ...) 创建一个将在时间过去后执行回调的时钟。如果提供了其他参数,则将它们传递给回调。

    来自 cron.lua 的 github 页面的示例

    local cron = require 'cron'
    
    local function printMessage()
      print('Hello')
    end
    
    -- the following calls are equivalent:
    local c1 = cron.after(5, printMessage)
    local c2 = cron.after(5, print, 'Hello')
    

    【讨论】:

      【解决方案2】:

      我使用hump.timer 库来实现这种功能。

      要使用它,只需:

      Timer.after(1, function() print("Hello, world!") end)
      -- prints "Hello world!" after 1 second
      

      并确保在 love.update 函数中的 Timer 上运行更新

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

      【讨论】:

      • 谢谢,但我试过这个代码:'function love.load() timer=require "hump.timer" face=love.graphics.newImage("face.png") end function love.update (dt) timer.update(dt) end function love.draw() timer.after(1,function() love.graphics.draw(face) end) end' 但随后发生此错误 Error main.lua:2:module 'hump.timer' 没有找到,然后是我想游戏试图找到的一些位置
      • 您是否下载了驼峰库并将其添加到您的项目文件夹中?此外,require 行中的“hump.timer”意味着 timer.lua 在一个驼峰文件夹中。所以确保那是 timer.lua 所在的位置。否则,您可以将 timer.lua 文件放在与 main.lua 相同的目录中,然后使用:require "timer"
      • 好的。我在哪里下载它?
      • 在他们的GitHub repository上,如docs homepage中所述
      猜你喜欢
      • 2017-10-15
      • 2020-02-16
      • 2022-01-05
      • 2014-12-01
      • 2017-03-27
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多