aboutsummaryrefslogtreecommitdiff
path: root/core/screen_shaker.lua
diff options
context:
space:
mode:
authorIndrajith K L2022-03-01 02:48:49 +0530
committerIndrajith K L2022-03-01 02:48:49 +0530
commitf5eaa22a1c9598c9f7a55a41614d1ce4769dee4a (patch)
treeafbb7585324e9efbfd5820f07d9a0239193d3e99 /core/screen_shaker.lua
parent05add67d6f95c51a3501bc15a742cf9fccc4b67e (diff)
downloadYEAD-f5eaa22a1c9598c9f7a55a41614d1ce4769dee4a.tar.gz
YEAD-f5eaa22a1c9598c9f7a55a41614d1ce4769dee4a.tar.bz2
YEAD-f5eaa22a1c9598c9f7a55a41614d1ce4769dee4a.zip
* Adds Ambience SFX & Management
* Notification - In-Progress * Collision Callbacks * Interactive & Pickable entities - In-Progress
Diffstat (limited to 'core/screen_shaker.lua')
-rw-r--r--core/screen_shaker.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/core/screen_shaker.lua b/core/screen_shaker.lua
new file mode 100644
index 0000000..0316559
--- /dev/null
+++ b/core/screen_shaker.lua
@@ -0,0 +1,28 @@
+Class = require("libs.hump.class")
+Shack = require("libs.shack")
+local Timer = require("libs.hump.timer")
+
+ScreenShaker = Class {
+ init = function(self)
+ monsterGrowl = love.audio.newSource("assets/sfx/monster_growl.wav", "static")
+ local width, height = love.graphics.getDimensions()
+ Shack:setDimensions(width, height)
+ Timer.every(10, shakeScreen)
+ end
+}
+
+function ScreenShaker:update(dt)
+ Timer.update(dt)
+ Shack:update(dt)
+end
+
+function ScreenShaker:draw()
+ Shack:apply()
+end
+
+function shakeScreen()
+ Shack:setShake(20)
+ monsterGrowl:play()
+end
+
+return ScreenShaker \ No newline at end of file