等待用户抬起鼠标 - 不工作:Love2D
Waiting for user to lift mouse - not working: Love2D
我正忙于使用 Love2D 引擎创建一个程序,用户在其中单击它 returns 鼠标当前位置的坐标。然而,在返回另一个位置之前,用户必须 'un-click' 鼠标,然后单击下一个所需位置。
我在下面粘贴了应该处理此问题的脚本:
function scripts.waitForMouseLift()
while love.mouse.isDown("l", "r") do
--Stays in a loop until user releases mouse, then lets the program continue
end
end
这在技术上应该可行,因为循环会在鼠标单击被解除时结束,但它只会无限循环地进行,而不管我之前单击了哪个鼠标按钮。
所以,我的问题由两部分组成:首先,有没有办法让这个方法起作用?其次,对于这个问题,有什么替代方案或者更好的解决方案吗?
Love 为此使用回调,而您正在寻找的也是 love.mousereleased
and you might want to look at love.mousepressed
。这些是您添加到脚本中的函数,只要用户单击(或释放)鼠标按钮,就会调用该函数。因此,您不必不断检查自己以查看鼠标是否更改了状态,也不能在繁忙的循环中等待它,因为您需要将控制权交还给 Love,以便它有机会更新鼠标状态。
function love.mousepressed(x, y, button)
-- do something with x, y
print("Mouse Pressed", button, "at", x, y)
end
function love.mousereleased(x, y, button)
print("Mouse Released", button, "at", x, y)
end
我正忙于使用 Love2D 引擎创建一个程序,用户在其中单击它 returns 鼠标当前位置的坐标。然而,在返回另一个位置之前,用户必须 'un-click' 鼠标,然后单击下一个所需位置。
我在下面粘贴了应该处理此问题的脚本:
function scripts.waitForMouseLift()
while love.mouse.isDown("l", "r") do
--Stays in a loop until user releases mouse, then lets the program continue
end
end
这在技术上应该可行,因为循环会在鼠标单击被解除时结束,但它只会无限循环地进行,而不管我之前单击了哪个鼠标按钮。
所以,我的问题由两部分组成:首先,有没有办法让这个方法起作用?其次,对于这个问题,有什么替代方案或者更好的解决方案吗?
Love 为此使用回调,而您正在寻找的也是 love.mousereleased
and you might want to look at love.mousepressed
。这些是您添加到脚本中的函数,只要用户单击(或释放)鼠标按钮,就会调用该函数。因此,您不必不断检查自己以查看鼠标是否更改了状态,也不能在繁忙的循环中等待它,因为您需要将控制权交还给 Love,以便它有机会更新鼠标状态。
function love.mousepressed(x, y, button)
-- do something with x, y
print("Mouse Pressed", button, "at", x, y)
end
function love.mousereleased(x, y, button)
print("Mouse Released", button, "at", x, y)
end