<- Artigo anterior: Extendscript Hello World !!!
Olá.
Em um artigo anterior, descrevi como escrever um script para Adobe After Effects. Deixe-me lembrá-lo de que nosso script cria uma janela na interface do programa. Nesta janela, você pode inserir e executar Extendscript, uma linguagem de script para programas Adobe. Agora, quero oferecer a você uma expansão da funcionalidade desse plugin. Vamos fazer com que ele possa carregar e salvar os scripts que escrevemos.
E então vamos embora.
Vamos começar carregando o script. Para fazer isso, adicione o botão Abrir e um manipulador para pressioná-lo.
var btnOpenFile = win.add('button', undefined, 'open');
btnOpenFile.onClick = function() {
var file = File.openDialog(' Adobe AE');
if (!file) return;
if (/\.(jsx|js)$/.test(file.name)) {
file.open("r");
editText.text = file.read();
file.close();
} else {
alert(" " + file.name + " .js .jsx")
}
};
Em primeiro lugar, no manipulador, chamamos a caixa de diálogo para abrir o arquivo. O primeiro argumento para o método estático File.openDialog é um prompt para o usuário. Se o sistema suportar esse prompt, ele será exibido. Caso contrário, este argumento será ignorado.
Este método também aceita um segundo argumento - um método ou uma string (dependendo do sistema operacional) para filtrar a extensão dos arquivos abertos. Mas, por alguma razão, nas versões recentes do AE, esse argumento não funciona, então não o usei neste script. Em vez disso, faremos a verificação apropriada abaixo.
, File.openDialog File. , , null.
if (!file) return;
. , .
/\.(jsx|js)$/.test(file.name)
.js .jsx. AE . , , open “r” - read, , .
file.open("r");
editText.text = file.read();
file.close();
, , .
alert(" " + file.name + " .js .jsx")
. , .
. Save.
var btnSaveFile = win.add('button', undefined, 'save');
btnSaveFile.onClick = function() {
var file = File.saveDialog(' Adobe AE');
if (!file) return;
if (!/\.(jsx|js)$/.test(file.name)) {
file.rename(file.name + '.jsx')
}
file.open('w');
file.write(editText.text);
file.close();
};
, . .
var file = File.saveDialog(' Adobe AE');
File.saveDialog null
if (!file) return;
, .js .jsx, ,
if (!/\.(jsx|js)$/.test(file.name)) {
file.rename(file.name + '.jsx')
}
, rename.
. , . , . , After Effects . , Preferences > Scripting & Expressions, Allow Scripts to Write Files and Access Network. , , .
Bom, isso é tudo. Resta apenas uma ressalva, nossos botões estão localizados um abaixo do outro, o que não é esteticamente agradável e conveniente. Para corrigir isso, adicionamos um elemento de grupo antes de adicionar os botões.
var btnsGroup = win.add('group');
E os próprios botões não serão mais adicionados à janela, mas a este grupo
var btnRun = btnsGroup.add('button', undefined, 'run');
var btnOpenFile = btnsGroup.add('button', undefined, 'open');
var btnSaveFile = btnsGroup.add('button', undefined, 'save');
Agora os botões são renderizados embutidos, o que, como você vê, parece muito melhor.
É tudo por agora. Espero que este exemplo tenha sido útil para você. Você pode encontrar o script completo com comentários detalhados aqui . Veja a documentação sobre como trabalhar com arquivos em AE Extendscript aqui .
Obrigado pela atenção.
<- Artigo anterior: Extendscript Hello World !!!