Esta es la segunda parte de «Historias de Love». «Historias de love» son pequeños posts en los que mostramos como hacer algo con Love2D.
Hoy vamos a ver como podemos mover las ruedas de una furgoneta rotando estas al mismo tiempo que desplazamos la furgoneta.
Para ello se ha extraído el sprite de la furgoneta del juego Thimbleweed Park. La furgoneta de las palomas locas.
Lo cierto es que no se ve muy bien la rotación de las ruedas en este gif. No obstante creo que pese a que no se ve fluido el gif se entiende lo que vamos a hacer.
Las teclas que vamos a mapear
Escape para salir.
Tecla de dirección Izquierda para mover la furgoneta hacia la izquierda.
Tecla de dirección Derecha para mover la furgoneta hacia la derecha.
Los sprites necesarios
Básicamente son 2 imágenes y ya.
La furgoneta con su sombra debajo y una rueda que giraremos y duplicaremos.
Descargar el código fuente
El código fuente con todo se puede descargar desde aquí: sprite_ruedas.tar
El main.lua es el siguiente:
function love.load()
van = {}
van.img = love.graphics.newImage("furgoneta.png")
van.width = 209
van.height = 143
van.x = 100
van.y = 100
wheel = {}
wheel.img = love.graphics.newImage("rueda.png")
wheel.width = 35
wheel.height = 35
wheel.y = van.y + 126
wheel.r = 0
end
function love.update(dt)
if love.keyboard.isDown( "right" ) then
wheel.r = wheel.r + (dt*2)
van.x = van.x + 2
end
if love.keyboard.isDown( "left" ) then
wheel.r = wheel.r - (dt*2)
van.x = van.x - 2
end
wheel.x = van.x + 44.5
love.draw()
end
function love.draw()
love.graphics.setColor(255,255,255,1) -- background color (white)
love.graphics.rectangle("fill", 0, 0, 800, 600)
love.graphics.draw(van.img, van.x, van.y)
love.graphics.draw(wheel.img, wheel.x, wheel.y, wheel.r,1,1,(wheel.width/2),(wheel.height/2)) -- first wheel
love.graphics.draw(wheel.img, wheel.x + 132, wheel.y, wheel.r,1,1,(wheel.width/2),(wheel.height/2)) -- second wheel
end
function love.keypressed(key)
if key == "escape" then
love.event.quit()
end
if ( key == "right" ) then
van.x = van.x + 2
end
if ( key == "left" ) then
van.x = van.x - 2
end
end
Lo necesario para poner en marcha esto
Es necesario disponer de Lua 5.x y Love2D 11.3 .
Aquí información sobre compilar Lua 5.x y como compilar Love2D 11.3
Luego simplemente accedes al directorio en el que está el main.lua y ejecutas lo siguiente:
love .
Y eso es todo
Saludos cordiales.