tavuntu / Katsudo
Licence: mit
Katsudö is an animation library for LÖVE
Stars: ✭ 32
Programming Languages
lua
6591 projects
Projects that are alternatives of or similar to Katsudo
Love
LÖVE is an awesome 2D game framework for Lua.
Stars: ✭ 1,305 (+3978.13%)
Mutual labels: gamedev, love2d
Love2d arkanoid tutorial
Tutorial on making a full-featured arkanoid (breakout)-type game with LÖVE framework.
Stars: ✭ 137 (+328.13%)
Mutual labels: gamedev, love2d
Bytepath
A replayable arcade shooter with a focus on build theorycrafting made using Lua and LÖVE.
Stars: ✭ 1,119 (+3396.88%)
Mutual labels: gamedev, love2d
superfeather
SNES game engine in 65816 assembly, focusing on performance, flexibility, convenience
Stars: ✭ 31 (-3.12%)
Mutual labels: gamedev, love2d
Sock.lua
A Lua networking library for LÖVE games.
Stars: ✭ 121 (+278.13%)
Mutual labels: gamedev, love2d
awesome-playdate
A list of awesome resources for Playdate (https://play.date) game development and the Playdate SDK (https://play.date/dev/)
Stars: ✭ 149 (+365.63%)
Mutual labels: gamedev, love2d
animX
An animation library for Love2D with unique features
Stars: ✭ 17 (-46.87%)
Mutual labels: love2d, animation-library
Swipemenuviewcontroller
Swipable tab and menu View and ViewController.
Stars: ✭ 926 (+2793.75%)
Mutual labels: animation-library
Imgui
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Stars: ✭ 33,574 (+104818.75%)
Mutual labels: gamedev
Bingehack4
A replacement for bingehack. For information about in-game features and changes:
Stars: ✭ 14 (-56.25%)
Mutual labels: gamedev
LÖVE
Katsudö is a small and simple animation library forExample 1:
local k = require "katsudo"
function love.load()
gr = love.graphics
gr.setBackgroundColor(1, 1, 1)
local imgDir = "imgs/tc.png"
-- 18 frames of 30x55 at 25 FPS:
tc = k.new(imgDir, 30, 55, 18, 0.04)
tc2 = k.new(imgDir, 30, 55, 18, 0.04, "rough")
tc3 = k.new(imgDir, 30, 55, 18, 0.04):rewind()
tc4 = k.new(imgDir, 30, 55, 18, 0.04):once()
end
function love.update(dt)
k.update(dt)
end
function love.draw()
tc:draw (50, 50, 0, 5, 5)
tc2:draw(200, 50, 0, 5, 5)
tc3:draw(350, 50, 0, 5, 5)
tc4:draw(500, 50, 0, 5, 5)
end
Result:
Example 2, setDelay():
local k = require "katsudo"
function love.load()
gr = love.graphics
gr.setBackgroundColor(1, 1, 1)
imgDir = "imgs/tc.png"
tc = k.new(imgDir, 30, 55, 18, .1):setDelay(0.5) -- change to half second for all frames
tc2 = k.new(imgDir, 30, 55, 18, .1):setDelay(0.5, 2) -- half second just for 2nd frame
tc3 = k.new(imgDir, 30, 55, 18, .1):setDelay(0.5, 2, true) -- starting with 2nd frame
end
function love.update(dt)
k.update(dt)
end
function love.draw()
tc:draw (50, 50, 0, 5, 5)
tc2:draw(200, 50, 0, 5, 5)
tc3:draw(350, 50, 0, 5, 5)
end
Result:
Example 3, rotation:
local k = require "katsudo"
function love.load()
gr = love.graphics
gr.setBackgroundColor(1, 1, 1)
rotatingDounts = {}
-- spin clockwise at 60 RPM (a spin in 1 sec):
table.insert(rotatingDounts, k.rotate('imgs/donut.png'))
-- 30 RPM:
table.insert(rotatingDounts, k.rotate('imgs/donut.png', .5))
-- 30 RPM counter clockwise:
table.insert(rotatingDounts, k.rotate('imgs/donut.png', .5, true))
-- 30 RPM spinning in a random direction:
table.insert(rotatingDounts, k.rotate('imgs/donut.png', .5, 'random'))
end
function love.update(dt)
k.update(dt)
end
function love.draw()
for i = 1, #rotatingDounts do
local donut = rotatingDounts[i]
donut:draw(
i * donut.w,
200,
donut:r(),
1,
1,
donut.w / 2,
donut.h / 2)
end
end
Result:
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].