Criando Seu Próprio Script no after
Criar um script do zero parece assustador mas não é. Você começa com uma tarefa repetitiva, automatiza, e vai evoluindo. Esse ciclo funciona.
Do problema ao script
- Identifique uma tarefa repetitiva (ex: sempre crio um nulo e parento 5 layers)
- Faça manualmente uma vez, anotando cada passo
- Traduza cada passo para ExtendScript
- Teste, corrija, refine
- Adicione interface se usar frequentemente
Estrutura com interface (ScriptUI)
// Script com janela de interface(function(thisObj) {
function buildUI(thisObj) { var panel = (thisObj instanceof Panel) ? thisObj : new Window("palette", "Meu Script", undefined);
panel.orientation = "column"; panel.margins = 10;
// Campo de texto var labelGroup = panel.add("group"); labelGroup.add("statictext", undefined, "Prefixo:"); var prefixInput = labelGroup.add("edittext", undefined, "Element_"); prefixInput.characters = 15;
// Botão var runBtn = panel.add("button", undefined, "Executar"); runBtn.onClick = function() { runScript(prefixInput.text); };
if (panel instanceof Window) { panel.center(); panel.show(); } else { panel.layout.layout(true); }
return panel; }
function runScript(prefix) { var comp = app.project.activeItem;
if (!comp || !(comp instanceof CompItem)) { alert("Selecione uma composição."); return; }
var selected = comp.selectedLayers; if (selected.length === 0) { alert("Selecione ao menos uma layer."); return; }
app.beginUndoGroup("Renomear com prefixo"); for (var i = 0; i < selected.length; i++) { selected[i].name = prefix + ("00" + (i + 1)).slice(-2); } app.endUndoGroup();
alert(selected.length + " layers renomeadas."); }
buildUI(thisObj);
})(this);Boas práticas
Sempre use undo groups:
app.beginUndoGroup("Nome descritivo");// modificaçõesapp.endUndoGroup();Sempre valide o contexto:
var comp = app.project.activeItem;if (!comp || !(comp instanceof CompItem)) { alert("Selecione uma composição primeiro."); exit();}Instalando e distribuindo
Para instalar em outros computadores:
- Salve como
.jsx(script simples) ou.jsxbin(compilado, sem código visível) - Copie para a pasta Scripts ou ScriptUI Panels do after
- Reinicie o after
Para compilar .jsxbin (protege o código): no ExtendScript Toolkit, File > Export to JSXBin
Publicando no aescripts.com
O aescripts.com é o marketplace de scripts para after. Você pode publicar gratuitamente ou com preço:
- Crie uma conta de desenvolvedor
- Submeta o script com documentação e demo
- Defina o preço (ou grátis)
- A plataforma cuida do sistema de licença
Tip
Antes de publicar, teste em 2-3 versões diferentes do after. A API tem mudanças sutis entre versões e um script que funciona no CC 2024 pode quebrar no CC 2022.