diff --git a/dev-assets/doodads/boy/boy.js b/dev-assets/doodads/boy/boy.js index 02f877b..8c9f532 100644 --- a/dev-assets/doodads/boy/boy.js +++ b/dev-assets/doodads/boy/boy.js @@ -1,11 +1,9 @@ function main() { var playerSpeed = 12; - var gravity = 4; var Vx = Vy = 0; var animating = false; var animStart = animEnd = 0; - var animFrame = animStart; Self.SetMobile(true); Self.SetInventory(true); @@ -14,10 +12,20 @@ function main() { 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"]); + // If the player suddenly changes direction, reset the animation state to quickly switch over. + var lastVelocity = Vector(0, 0); + Events.OnKeypress(function (ev) { Vx = 0; Vy = 0; + var curVelocity = Self.GetVelocity(); + if ((lastVelocity.X < 0 && curVelocity.X > 0) || + (lastVelocity.X > 0 && curVelocity.X < 0)) { + Self.StopAnimation(); + } + lastVelocity = curVelocity; + if (ev.Right) { if (!Self.IsAnimating()) { Self.PlayAnimation("walk-right", null);