Aspriteのプラグインを作る。
Asprite参考
Aseprite – Api – Plugin
GUIのメニュー追加先
aseprite/data/gui.xml at main · aseprite/aseprite · GitHub
必要なファイル
- package.json
- my-script.lua( package.jsonで指定したファイル名 )
完成後はこれらを入れたフォルダをzipに圧縮する。
package.json
{
"name" : "my-scripts",
"displayName" : "My Scripts",
"description" : "My scripts do something",
"version" : "0.1",
"author" : { "name": "FirstName LastName",
"email": "my@email.com",
"url": "https://mywebsite.com/" },
"contributors": [ ],
"publisher": "myname",
"license": "CC-BY-4.0",
"categories": [ "Scripts" ],
"contributes": {
"scripts": [
{ "path": "./my-script.lua" }
]
}
}
my-script.lua
-- 読み込み時に実行される関数
function init(plugin)
-- 変数を保存するフィールドはplugin.preferences.XXXを使用する。
-- we can use "plugin.preferences" as a table with fields for
-- our plugin (these fields are saved between sessions)
if plugin.preferences.count == nil then
plugin.preferences.count = 0
end
-- 特定の場所を右クリック時のメニューにグループを追加する。
plugin:newMenuGroup{
id="new_group_id",
title="追加するグループ名",
-- レイヤーウィンドウの右クリック時に表示されるメニューにグループ(フォルダ)を追加する。
group="cel_popup_properties"
}
-- 機能を追加する。プラグイン内に複数あってもよい。
plugin:newCommand{
-- コマンドのID
id="MyFirstCommand",
-- ショートカットなどで表示されるコマンド名。
title="My First Command",
-- GUIのどこにメニューを追加するか。
-- この例だと、自分で作ったグループに追加している。
group="new_group_id",
-- -- 直接追加する場合はこのように。
-- group="cel_popup_properties"
-- クリック時およびショートカット使用時に実行される内容。
onclick=function()
plugin.preferences.count = plugin.preferences.count+1
print( "call" )
end
-- 実行可能なときはtrueを返す。falseなら実行不可。
onenabled=function()
return true
end
}
-- 指定したメニューにセパレータ[ ------- ]を追加し、メニューを区切る。
plugin:newMenuSeparator{
group="new_group_id"
}
end
function exit(plugin)
-- 終了時に実行される関数
print("Aseprite is closing my plugin, MyFirstCommand was called " .. plugin.preferences.count .. " times")
end
プラグインを読み込む。
Edit > Preferences > Extensions > Add Extension
備考
cel_popup_propertiesなど、どの位置のメニューに追加するかなどはこれを確認する。
aseprite/data/gui.xml at main · aseprite/aseprite · GitHub