Created
February 9, 2022 16:45
-
-
Save facciocose/6a29f4abde3be6972f0e9ceb628eb285 to your computer and use it in GitHub Desktop.
Aseprite script to export visible layers as PNG files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function GetVisibleLayers() | |
| data = {} | |
| for _, layer in ipairs(app.activeSprite.layers) do | |
| if layer.isVisible then | |
| table.insert(data, layer) | |
| end | |
| end | |
| return data | |
| end | |
| function RestoreVisibleLayers(data) | |
| for _, layer in ipairs(data) do | |
| layer.isVisible = true | |
| end | |
| end | |
| function GetFileName(str) | |
| return str:match(".+[/\\](.+)%.") | |
| end | |
| function GetDirName(str) | |
| return str:match("(.*[/\\])") | |
| end | |
| local sprite = app.activeSprite | |
| visible_layers = GetVisibleLayers() | |
| for _, layer in ipairs(sprite.layers) do | |
| layer.isVisible = false | |
| end | |
| for i, layer in ipairs(visible_layers) do | |
| layer.isVisible = true | |
| local dir = GetDirName(sprite.filename) | |
| local spriteName = GetFileName(sprite.filename) | |
| local layerFileName = dir .. spriteName .. "-" .. i .. ".png" | |
| app.activeSprite:saveCopyAs(layerFileName) | |
| layer.isVisible = false | |
| end | |
| RestoreVisibleLayers(visible_layers) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment