ShakeDetectorLua
Uses accelerometer data for shake device detection written in Lua.
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)