Como eu faço para definir um tempo no qual a imagem fique na tela? Utilizando o love.graphics.draw é possivel definir um tempo de duração?
Como eu faço para definir um tempo no qual a imagem fique na tela? Utilizando o love.graphics.draw é possivel definir um tempo de duração?
Olá Sérgio,
Como a tela do jogo é redesenhada do zero a cada quadro do nosso jogo, você precisaria ter um controle de que a imagem precisa ser exibida e também um controle da quantidade de quadros para o qual ela já foi exibida.
A ideia seria algo assim:
duracaoImagem = 15
mostraImagem = false
function exibeImagem()
mostraImagem = true
end
function love.draw()
love.graphics.draw(background, 0, 0)
love.graphics.draw(aviao_14bis.imagem, aviao_14bis.x, aviao_14bis.y)
for k, meteoro in pairs(meteoros) do
love.graphics.draw(meteoro_img, meteoro.x, meteoro.y)
end
for k, tiro in pairs(aviao_14bis.tiros) do
love.graphics.draw(tiro_img, tiro.x, tiro.y)
end
if mostraImagem then
if duracaoImagem > 0 then
-- aqui vc desenha a imagem com love.graphics.draw
duracaoImagem = duracaoImagem - 1
else
mostraImagem = false
end
end
end
Para uma imagem isso resolveria bem o problema e você conseguiria controlar usando o código acima como referência.
Nas partes 1 e 2 do curso https://www.alura.com.br/curso-online-desenvolvimento-de-jogos-com-lua , apresentamos de uma forma um pouco mais detalhada como tratar esse tipo de problema quando precisamos lidar com animações, imagens e mensagens que precisam ficar mais tempo na tela. O legal é que tudo que você aprender de Lua nesses cursos você também consegue aplicar na Love2D.