topdown 2d – mouvement
Concepts abordés = {
Initialisation du joueur,
Position (x, y),
Vitesse de déplacement,
Lecture des entrées clavier,
DeltaTime (dt),
love.update(dt),
love.draw()
}
Résultat = {
Déplacement (x, y) d’un sprite 16×16,
–indépendamment du nombre d’images par seconde
}
Implémentation d’un déplacement top down en lua
__ ________________________________
structure des fichiers
dossier parent = {
– conf.lua
– main.lua
– dossier sprite
— sprite.png
}
//main.lua
function love.load()
player = {}
player.x = 160 -- position en x du player
player.y = 120 -- position en y du player
player.speed = 2 -- vitesse du player
player.sprite =
love.graphics.newImage("sprites/player.png") -- sprite
end
------------------------------------------------------------
function love.update(dt)
-- c o n t r o l l e r --
if love.keyboard.isDown("up") then -- mouvement haut
player.y = player.y - player.speed
end
if love.keyboard.isDown("down") then -- mouvement bas
player.y = player.y + player.speed
end
if love.keyboard.isDown("right") then -- mouvement droite
player.x = player.x + player.speed
end
if love.keyboard.isDown("left") then -- mouvement gauche
player.x = player.x - player.speed
end
end
------------------------------------------------------------
function love.draw()
love.graphics.draw(player.sprite, player.x, player.y) -- afficher un sprite (sprite, x, y)
end
//conf.lua
function love.conf(t)
t.window.width = 360 -- Largeur de la fenetre
t.window.height = 240 -- Hauteur de la fenetre
t.window.resizable = true -- Laissez la fenetre être redimensionnable
t.window.borderless = false -- Supprime toutes les bordures de la fenetre
end
Pour lancer le projet, glisser le dossier parent sur le launcher löve2d.
Ensuite, utiliser les flèches directionnels du clavier pour déplacer le sprite.
téléchargement du projet = /
topdown_lua.zip =
(« main.lua, conf.lua, sprite.png »)