nerevelon5/lib/sprite.lua
Ivan Yuriev 6a8bc1e07c - shadows demo
- scaling
 - math fix
 - refactoring
2025-04-17 03:52:58 +03:00

36 lines
798 B
Lua

require 'lib.asset_bundle'
require 'lib.animation'
__AnimatedSprite = {
t = 0,
}
function AnimatedSprite(id)
local table = {}
local bundle = AssetBundle.files.sprites[id]
for key, value in pairs(bundle) do
table[key] = Animation(value, value:getHeight(), value:getHeight())
end
return setmetatable(table, { __index = __AnimatedSprite })
end
function __AnimatedSprite:update(dt)
self.t = (self.t + dt) % 1
end
function __AnimatedSprite:getQuad(key)
if key then
return self[key]:getQuad(self.t)
end
return love.graphics.newQuad(0, 0, 235, 235, AssetBundle.files.sprites.fallback)
end
function __AnimatedSprite:getTexture(key)
if key then
return self[key].spriteSheet
end
return AssetBundle.files.sprites.fallback
end