Love2D 菜单选择

出于某种原因,当我使用代码 if love.keyboard.isDown(“s”) 时,代码没有响应。也许我使用函数的方法有误,但仍然很奇怪。

我尝试在 love.keypressed 和 love.update 中使用 Menu()函数。但依然没有响应。

这是完整的代码:

main.lua

function love.load()
require "menu"
select = love.graphics.newImage(“select.png”)
Menu()
end
function love.draw()
   Menu()
end
function love.keypressedkeyMenu()
end

function love.update()
   Menu()
end
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

原文链接 https://stackoverflow.com/questions/9853824

点赞
stackoverflow用户203982
stackoverflow用户203982

不确定你在尝试做什么,但在Menu()函数中,每次调用它时你都重置sly变量,然后在你已经绘制图像之后修改sly变量。这会导致什么也没有发生。

如果你将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

或者在从love.keypressed调用Menu()时将key变量传递到Menu()中,并且不使用keyboard.isDown函数。

再次强调,我不确定你在真正尝试做什么,但在我看来,代码运行良好,你可能只是有一个逻辑错误。

2012-04-13 17:56:18