aboutsummaryrefslogtreecommitdiff
path: root/src/objs/player.lua
diff options
context:
space:
mode:
authoriamcheeseman <[email protected]>2026-03-11 13:19:11 -0400
committeriamcheeseman <[email protected]>2026-03-11 13:19:11 -0400
commit8121de73db8acfe5264fd6e0218dc5413ffac95d (patch)
tree2308f65d361c4ffcc365d7a16ff458ed602efc22 /src/objs/player.lua
parent9e7d27e8d43617955c8a1213b392d98e3932f7a3 (diff)
basic AABB collision resolution
Diffstat (limited to 'src/objs/player.lua')
-rw-r--r--src/objs/player.lua17
1 files changed, 11 insertions, 6 deletions
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