diff options
| author | realtradam <[email protected]> | 2022-01-23 21:29:46 -0500 |
|---|---|---|
| committer | realtradam <[email protected]> | 2022-01-23 21:29:46 -0500 |
| commit | 60497f1c825bbcd8bbe368a244cfe18bc37a7d19 (patch) | |
| tree | 2b1fad1f12ed56b6e2be302e9ed77b753303be19 /src/helper.rb | |
| parent | 324b6b6c30a9dc3d2f3c83e4dd7c3a9fff41d1e8 (diff) | |
| download | orc-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.rb | 23 |
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 |
