From 5d4fe7b99a0547173da0adba9051639edbcb7005 Mon Sep 17 00:00:00 2001 From: Noah Petherbridge Date: Wed, 2 Jun 2021 20:41:53 -0700 Subject: [PATCH] Collision Box Updates * The F4 key to draw collision boxes works reliably again: it draws the player's hitbox in world-space using the canvas.DrawStrokes() function, rather than in screen-space so it follows the player reliably. * The F4 key also draws hitboxes for ALL other actors in the level: buttons, enemies, doors, etc. * The level geometry collision function is updated to respect a doodad's declared Hitbox from their script, which may result in a smaller box than their raw Canvas size. The result is tighter collision between doodads, and Boy's sprite is rather narrow for its square Canvas so collision on rightward geometry is tighter for the player character. * Collision checks between actors also respect the actor's declared hitboxes now, allowing for Boy to get even closer to a locked door before being blocked. --- dev-assets/doodads/azulian/azulian-red.js | 1 + dev-assets/doodads/boy/boy.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dev-assets/doodads/azulian/azulian-red.js b/dev-assets/doodads/azulian/azulian-red.js index e3a4ea0..45f5881 100644 --- a/dev-assets/doodads/azulian/azulian-red.js +++ b/dev-assets/doodads/azulian/azulian-red.js @@ -5,6 +5,7 @@ function main() { var direction = "right"; + Self.SetHitbox(0, 0, 32, 32) Self.SetMobile(true); Self.SetGravity(true); Self.AddAnimation("walk-left", 100, ["red-wl1", "red-wl2", "red-wl3", "red-wl4"]); diff --git a/dev-assets/doodads/boy/boy.js b/dev-assets/doodads/boy/boy.js index 6d48705..362a6c0 100644 --- a/dev-assets/doodads/boy/boy.js +++ b/dev-assets/doodads/boy/boy.js @@ -9,7 +9,7 @@ function main() { Self.SetMobile(true); Self.SetGravity(true); - Self.SetHitbox(0, 0, 16, 52); + Self.SetHitbox(0, 0, 32, 52); Self.AddAnimation("walk-left", 200, ["stand-left", "walk-left-1", "walk-left-2", "walk-left-3", "walk-left-2", "walk-left-1"]); Self.AddAnimation("walk-right", 200, ["stand-right", "walk-right-1", "walk-right-2", "walk-right-3", "walk-right-2", "walk-right-1"]);