From b744faa2e42ed37459fe3edb69c1149146233e5b Mon Sep 17 00:00:00 2001 From: ne_mene Date: Sun, 8 Mar 2026 22:21:42 +0100 Subject: let there be light --- src/objs/player.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/objs/player.lua (limited to 'src/objs') diff --git a/src/objs/player.lua b/src/objs/player.lua new file mode 100644 index 0000000..229dac9 --- /dev/null +++ b/src/objs/player.lua @@ -0,0 +1,32 @@ +PLAYER_SPEED = 100 + +register_comp("Body", function (ent, x, y) + ent.x = x + ent.y = y + ent.vx = 0 + ent.vy = 0 +end) + +register_comp("Player", TAGCOMP) + +function body_sys(ent, dt) + ent.x = ent.x + ent.vx * dt + ent.y = ent.y + ent.vy * dt +end + +function draw_sys(ent) + love.graphics.circle("fill", ent.x, ent.y, 8) +end + +function player_movement_sys(player, dt) + local inpx, inpy = input_direction("Left", "Right", "Up", "Down") + inpx, inpy = normalize(inpx, inpy) + player.vx = dlerp(player.vx, inpx * PLAYER_SPEED, 25 * dt) + player.vy = dlerp(player.vy, inpy * PLAYER_SPEED, 25 * dt) +end + +function new_player(x, y) + local ent = new_entity() + add_comp(ent, "Body", x, y) + add_comp(ent, "Player") +end -- cgit v1.3-2-g0d8e