0

由于某种原因,当我得到代码时代码没有响应if love.keyboard.isDown("s")也许我使用的功能错了,但它仍然很奇怪。

我尝试在 love.keypressed 和 love.update 中使用 Menu() 函数。还是没有反应。

这是完整的代码:

主程序.lua

function love.load()
require "menu"
select = love.graphics.newImage("select.png")
Menu()
end
function love.draw()
   Menu()
end
function love.keypressed(key)
   Menu()
end

function love.update()
   Menu()
end

菜单.lua

function Menu()
sly = 300
love.graphics.draw(select,sly,300)
if key == "w" then
    sly = sly + 50
end

if love.keyboard.isDown("s") then
    sly = sly - 50
end
end
4

1 回答 1

0

不知道你究竟想在这里做什么,但在你的函数中,你每次调用它时都会Menu()重置变量,然后在你已经绘制图像后进行修改。这导致没有任何事情发生。slysly

如果您将其更改sly为在外部进行初始化Menu(),那么当您按下“s”键时,它至少会移动图像。此外,如果您希望 's' 以一种方式移动它而 'w' 以另一种方式移动它,那么代码可能应该是这样的:

sly = 300

function Menu()

    love.graphics.draw(select,sly,300)
    if love.keyboard.isDown("w") then
        sly = sly + 50
    end

    if love.keyboard.isDown("s") then
        sly = sly - 50
    end
end

或者,您可以在调用它时将key变量传递给而不使用该函数。Menu()love.keypressedkeyboard.isDown

同样,我不确定您在这里真正想要做什么,但在我看来代码工作正常,您可能只是有一个逻辑错误。

于 2012-04-13T17:56:18.607 回答