From 8121de73db8acfe5264fd6e0218dc5413ffac95d Mon Sep 17 00:00:00 2001 From: iamcheeseman Date: Wed, 11 Mar 2026 13:19:11 -0400 Subject: basic AABB collision resolution --- src/objs/player.lua | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/objs/player.lua') diff --git a/src/objs/player.lua b/src/objs/player.lua index 229dac9..83b05fe 100644 --- a/src/objs/player.lua +++ b/src/objs/player.lua @@ -1,17 +1,17 @@ PLAYER_SPEED = 100 -register_comp("Body", function (ent, x, y) - ent.x = x - ent.y = y +register_comp("Body", function (ent, x, y, w, h, opts) ent.vx = 0 ent.vy = 0 + ent.box = phys.Box.new(x, y, w, h, opts) end) register_comp("Player", TAGCOMP) function body_sys(ent, dt) - ent.x = ent.x + ent.vx * dt - ent.y = ent.y + ent.vy * dt + ent.vx, ent.vy = ent.box:update(ent.vx, ent.vy, dt) + ent.x = ent.box.x + ent.y = ent.box.y end function draw_sys(ent) @@ -27,6 +27,11 @@ end function new_player(x, y) local ent = new_entity() - add_comp(ent, "Body", x, y) + add_comp(ent, "Body", x, y, 16, 16, { + offsetx = -8, + offsety = -8, + layers = {}, + mask = {"hard"}, + }) add_comp(ent, "Player") end -- cgit v1.3-2-g0d8e