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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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
endPara 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.