Tutorial:Using Input (Português)

Capturar eventos de entrada de dados com LÖVE é bastante simples. Neste tutorial vamos apresentar uma forma de capturar eventos do teclado e do mouse, utilizando os métodos e callbacks de ambos objetos. Vamos começar nosso tutorial inserindo este pequeno trecho de código em um arquivo vazio:

local texto

function love.load()
   love.graphics.setNewFont(12)
   texto = "Nada ainda"
end

function love.update(dt)

end

function love.draw()
   love.graphics.print( texto, 330, 300 )
end

Capturando eventos do teclado

A maneira mais fácil de saber se o usuário está pressionando uma tecla é chamado o método love.keyboard.isDown, que possui a seguinte sintaxe:

love.keyboard.isDown( tecla )

O parâmetro "tecla" é uma string que representa a tecla desejamos saber se está sendo pressionada. Por exemplo:

if love.keyboard.isDown( " " ) then
   texto = "A tecla ESPAÇO foi pressionada!"
end

Você pode encontrar a relação completa de teclas aqui. O melhor local para realizar essa verificação é dentro do callback love.update, dessa forma, somos capazes de obter a entrada do usuário e atualizar nossas variáveis antes de tirar as nossas coisas da tela. Então, o nosso callback love.update modificado deve ficar assim:

function love.update(dt)
   if love.keyboard.isDown( " " ) then
      texto = "A tecla ESPAÇO foi pressionada!"
   end
end

Ainda que isso funcione perfeitamente, talvez nós apenas desejássemos saber quais teclas estão sendo pressionadas no momento e especificar diferentes comportamentos quando elas estão pressionadas ou forem soltas. Uma maneira elegante de fazer isso é usando os retornos de teclado love.keypressed e