Home

Awesome

Shake Detector Lua

It is porting of shake.js library to Lua.

The module is designed to be compatible with any Lua engine that can get delta-time between update cycles and accelerometer data.

Example of usage with Love2d (free 2d Game Engine):

main.lua

function love.load()
    shakeDetector = require "shakeDetector"
    local joysticks = love.joystick.getJoysticks()
    joystick = joysticks[#joysticks]    
end

function love.update(dt)    
    local x, y, z = joystick:getAxes()
    shakeDetector:update(dt, x, y, z)
end

function love.draw()
    love.graphics.print(shakeDetector.count)
end

API

Update shake detector

update(dt, x, y, z) arguments: delta-time between update cycles, accelerometer data x-axis, y-axis, z-axis

Get shakes count

local shakesCount = shakeDetector.count

Changing threshold and timeout:

shakeDetector:reset()         -- reset to defaults (threshold = 0.5, timeout = 0.25)
shakeDetector:reset(0.6, 0.3) -- set threshold to 0.6 and timeout to 0.3
shakeDetector:reset(nil, 0.4) -- set threshold to default (0.5) and timeout to 0.4
shakeDetector:reset(0.2, nil) -- set threshold to 0.2 and timeout to default (0.25)