-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinput.lua
More file actions
42 lines (35 loc) · 754 Bytes
/
input.lua
File metadata and controls
42 lines (35 loc) · 754 Bytes
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
local Input = {}
local keys = setmetatable({}, {
__index = function(table, key)
return {
pressed = false,
released = false,
isDown = false
}
end
})
function love.keypressed(key)
keys[key] = keys[key]
keys[key].pressed = true
end
function love.keyreleased(key)
keys[key] = keys[key]
keys[key].released = true
end
function Input:update()
for k, v in pairs(keys) do
v.pressed = false
v.released = false
v.isDown = love.keyboard.isDown(k)
end
end
function Input:pressed(key)
return keys[key].pressed
end
function Input:released(key)
return keys[key].released
end
function Input:isDown(key)
return keys[key].isDown
end
return Input