Aseprite 中文文档 下载 App

Aseprite Lua API 简介|什么都能自动化的脚本系统

Aseprite 的 Lua API 是什么

Aseprite 从 v1.0 开始内置 Lua 脚本引擎——几乎所有你在 Aseprite 界面里能做的操作,都能用 Lua 脚本调用。这意味着:

Aseprite 的 Lua API 参考文档非常完善,社区也有上千个现成脚本可以直接用。

两种运行方式

方式一:命令行批处理(无界面)

aseprite -b --script export-spritesheets.lua *.ase

这是做自动化工作流的主要方式——把脚本塞进 CI/CD 管道、或者写进 PowerShell/Bash 脚本里,一键批量处理。

方式二:GUI 里运行

在 Aseprite 界面里:

  1. File → Scripts → Open Script → 选择脚本文件运行
  2. 或把脚本放进 Aseprite 的 Scripts 文件夹,自动出现在菜单里
  3. v1.3.16 新增:Ctrl+Space → Run Command 窗口 → 直接输入 Lua 代码片段或选择预装脚本

最简脚本示例

-- 导出当前打开的 sprite 为 PNG
local sprite = app.activeSprite
if sprite then
  local filename = sprite.filename:gsub(".ase", ".png")
  sprite:saveAs(app.fs.filePath(filename))
  app.alert("已导出: " .. filename)
end

这个脚本只有 7 行——获取当前激活的 sprite → 把文件名从 .ase 改成 .png → 导出 → 弹窗提示。你可以在 Run Command 窗口里直接复制粘贴运行。

API 的核心对象

Aseprite Lua API 里最重要的几个对象:

对象是什么常用方法
app全局应用对象app.activeSprite(当前画布)、app.command(调用命令)、app.fs(文件系统)
Sprite精灵图(画布)filename、width、height、palette、tags、layers
Layer图层name、isVisible、opacity、cels
Frame帧duration、cel
Tag标签name、fromFrame、toFrame、loopDirection
Palette调色板colors、addColor()、setColor()

Run Command 窗口(Ctrl+Space)

v1.3.15.3 新增的杀手级功能——按 Ctrl+Space 弹出一个命令搜索窗口:

三种用法

  1. 命令搜索:输入关键词(比如 "export"、"sprite sheet"),弹出 Aseprite 所有相关命令,直接点击运行
  2. 数学表达式:输入 16 * 8 直接显示结果
  3. Lua 表达式:输入任何有效的 Lua 代码片段(比如 app.activeSprite.width),直接求值

实用场景

这大大降低了 Lua 脚本的门槛——不用先写文件、保存、再运行,直接 Ctrl+Space 输入一行代码就能跑。