如何使用Love2D使用有针对性的鼠标单击功能?

时间:2015-02-18 03:19:44

标签: lua love2d

我试图让它成为如果用户在200x300点击鼠标左键,那么变量将被更改。我在网上搜索了教程但找不到解决方案。



function love.load()
	medium = love.graphics.newFont(45)
	small = love.graphics.newFont(25)
	micro = love.graphics.newFont(14)

	StartGame = false
end

function love.draw()
	love.graphics.setColor(255, 0, 0)
	love.graphics.setFont(small)
	love.graphics.print("Play", 200, 300)
end

function love.mousepressed(x, y, button)
	if love.mousepressed( 200, 300, 'l' ) then
		StartGame = true
	end
end

function love.mousereleased(x, y, button)
end

function love.quit()
end




2 个答案:

答案 0 :(得分:3)

这将在用户点击200,300

时设置变量
function love.mousepressed(x, y, button)
   if button == "l" and x == 200 and y == 300 then
       StarGame = true
   end
end

但是,用户可能要求完美地选择单个点。因此,下面的代码会在点(200,300)周围添加10个像素,以便于点击。

local function inCircle(cx, cy, radius, x, y)
    local dx = cx - x
    local dy = cy - y
    return dx * dx + dy * dy <= radius * radius
end


function love.mousepressed(x, y, button)
   if button == "l" and inCircle(200, 300, 10, x, y) then
      StartGame = true
   end
end

尝试更改10以找到合适的内容。

答案 1 :(得分:0)

使用下面的代码完美选择一个点

 function love.mousepressed(x, y, button)
   if button == 1 and x>200 and x<230 and y>280 and y<320 then
   StartGame = true
end
end