deep is a tiny library for queuing and executing actions in sequence.
This functionality can be used in multiple ways, one of which is for LÖVE, where you can use the Z axis when drawing.
Place deep.lua
inside your project and require it:
deep = require "deep"
deep.queue(3, print, "wound!")
deep.queue(1, print, "It's just")
deep.queue(2, print, "a flesh")
deep.execute()
Prints:
It's just
a flesh
wound!
Queues a function for execution at index i
deep.queue(100, print, "Hello")
Arguments:
i
(number)
- The index of the action, must be positive.fun
(function)
- An anonymous or named function...
(*)
- The arguments of the passed named function
- Using anonymous functions:
deep.queue(400, function() hit(iron, 100) end)
- Using named functions:
deep.queue(400, hit, iron, 100)
Simply use an anonymous function:
deep.queue(1, function()
print("Hello")
print("World")
end)
Executes all of the queued actions.
-- Will execute the actions in random order
deep.queue(math.random(10), print, "'Tis")
deep.queue(math.random(10), print, "but")
deep.queue(math.random(10), print, "a")
deep.queue(math.random(10), print, "scratch!")
deep.execute()
The demo files have small examples of how deep's different functions should be used. I suggest you check out each one of them to learn about the various edge cases and details of deep.