Hi @bluedragon8633,
You could adapt the Lua script from this thread
to suit your purposes. The Aseprite scripting API is here.
Here is a rough draft to illustrate the concept:
local srcSprite = app.activeSprite
if srcSprite then
local srcLayer = app.activeLayer
if srcLayer then
local isTileMap = srcLayer.isTilemap
if isTileMap then
local tileSet = srcLayer.tileset
local tileCount = #tileSet
local grid = tileSet.grid
local tileDim = grid.tileSize
local tileWidth = tileDim.width
local tileHeight = tileDim.height
local trgSprite = Sprite(tileWidth, tileHeight)
local trgLayer = trgSprite.layers[1]
-- Where first tile of tilemap is empty,
-- first frame would also be empty.
local trgFirstFrame = trgSprite.frames[1]
local trgFirstImage = Image(tileWidth, tileHeight)
trgFirstImage:drawImage(tileSet:getTile(0))
trgSprite:newCel(
trgLayer,
trgFirstFrame,
trgFirstImage,
Point(0, 0))
for i = 1, tileCount - 1, 1 do
local trgFrame = trgSprite:newFrame()
local srcTile = tileSet:getTile(i)
local trgImage = Image(tileWidth, tileHeight)
trgImage:drawImage(srcTile)
local trgCel = trgSprite:newCel(
trgLayer,
trgFrame,
trgImage,
Point(0, 0))
end
app.refresh()
end
end
end
(The script above creates a new sprite, it doesn’t save as a .gif
.)
Best,
Jeremy