summaryrefslogtreecommitdiffhomepage
path: root/src/helper.rb
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2022-01-23 21:29:46 -0500
committerrealtradam <[email protected]>2022-01-23 21:29:46 -0500
commit60497f1c825bbcd8bbe368a244cfe18bc37a7d19 (patch)
tree2b1fad1f12ed56b6e2be302e9ed77b753303be19 /src/helper.rb
parent324b6b6c30a9dc3d2f3c83e4dd7c3a9fff41d1e8 (diff)
downloadorc-arena-of-time-60497f1c825bbcd8bbe368a244cfe18bc37a7d19.tar.gz
orc-arena-of-time-60497f1c825bbcd8bbe368a244cfe18bc37a7d19.zip
working walls
Diffstat (limited to 'src/helper.rb')
-rw-r--r--src/helper.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/helper.rb b/src/helper.rb
index 2eddcfe..020b2b9 100644
--- a/src/helper.rb
+++ b/src/helper.rb
@@ -36,3 +36,26 @@ class Tileset
end
end
+
+module Helper
+ class << self
+ def decelerate(velocity_cmp, movement_cmp)
+ velocity_mag = Math.sqrt((velocity_cmp.x**2) + (velocity_cmp.y**2))
+
+ # If going slower then deceleration
+ if velocity_mag <= (movement_cmp.deceleration * Rl.frame_time)
+ # Set to 0
+ velocity_cmp.x = 0
+ velocity_cmp.y = 0
+ else
+ velocity_x_mag = velocity_cmp.x / velocity_mag
+ velocity_y_mag = velocity_cmp.y / velocity_mag
+
+ # Add deceleration
+ velocity_cmp.x -= velocity_x_mag * movement_cmp.deceleration * Rl.frame_time
+ velocity_cmp.y -= velocity_y_mag * movement_cmp.deceleration * Rl.frame_time
+ end
+ true
+ end
+ end
+end