模块:AnimateSprite:修订间差异
来自The Land of StarLight
创建页面,内容为“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 ima…” |
小 导入1个版本 |
(没有差异)
|
2022年8月6日 (六) 21:20的版本
此模块的文档可以在模块: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