aboutsummaryrefslogtreecommitdiff
path: root/utils/screen_shaker.lua
blob: ca996af80ab741788028b9367becc5a996b94643 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Class = require("libs.hump.class")
Shack = require("libs.shack")
local Timer = require("libs.hump.Timer")

ScreenShaker = Class {
    init = function(self)
        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)
end

return ScreenShaker