模块:AnimateSprite
来自The Land of StarLight
此模块的文档可以在模块:AnimateSprite/doc创建
local p = {}
function p.animate( f )
local args = f
if f == mw.getCurrentFrame() then
args = f:getParent().args
end
local icons = {}
local sheet = args.sheet or 'InvSprite'
for icon in mw.text.gsplit( args[1], '%s*;%s*' ) do
function image( icon )
local ids = mw.loadData( 'Module:' .. sheet ).ids
local sprite = require( 'Module:Sprite' ).sprite
local idData = ids[icon] or { pos = 1 , section = 0 }
local image
if idData then
image = sprite{
iddata = idData,
data = sheet
}
end
return image
end
icons[#icons+1] = '<span>' .. (#icon>0 and image( icon ) or '<br>') .. '</span>'
end
icons[1] = icons[1]:gsub( '^<span>', '<span class="animated-active">' )
return '<span class="animated">' .. table.concat( icons ) .. '</span>'
end
return p