Primeiros passos com o Visual Scripting¶
Como em tudo no Godot, priorizamos uma boa experiência ao copiar ou integrar soluções de terceiros que podem não se encaixar muito bem no fluxo de trabalho atual. Isso nos levou a escrever nossa própria versão de como acreditamos que esse recurso funcionaria melhor com o mecanismo.
No Godot, um Script Visual se encaixa perfeitamente com scripts normais na aba Editor
Na verdade, o Visual Scripting se integra tão bem no Godot que é difícil acreditar que foi adicionado apenas na versão 3.0. Isso ocorre porque, durante a edição, o restante dos painéis e das docas Godot funcionam como uma paleta de onde é possível arrastar e soltar todos os tipos de informações para a tela de script:
Criando um Script¶
A criação de scripts funciona da mesma maneira que com outras linguagens de script: selecione qualquer nó na cena e pressione o botão "Novo Script" no canto superior direito da estação da Scene Tree:
Uma vez aberto, o tipo de script "Visual Script" deve ser selecionado na lista suspensa. A extensão de script deve ser ".vs" (para o Visual Script!).
Finalmente, o Editor de Script será aberto, permitindo iniciar a edição do script visual:
Adicionando uma Função¶
Ao contrário de outras implementações de scripts visuais, o Visual Scripting no Godot é fortemente baseado em funções. Isso acontece porque ele usa a mesma interface para se comunicar com o mecanismo como outros mecanismos de script. No Godot, a interface de script é universal e todas as implementações estão de acordo com ela.
Uma função é uma tela individual com nós conectados.
Um único script pode conter várias funções, cada uma com uma tela própria, permitindo mais organização.
Existem três maneiras principais de adicionar funções em um script:
Substituindo uma função virtual¶
A maioria dos tipos de nós e outros tipos de objetos em Godot contém funções virtuais. Essas são as funções que serão chamadas (execute seu código) quando algo acontecer e puderem ser consultadas na referência. As funções virtuais são listadas ao pressionar o ícone "Substituir" no painel de membros:
No exemplo a seguir, uma função será executada quando o nó for carregado e adicionado à cena em execução. Para isso, o método virtual _ready () será substituído:
Finalmente, uma tela aparece para esta função, mostrando a substituição:
Como algumas funções esperam que você retorne um valor, elas também adicionarão um nó de retorno onde tal valor deve ser fornecido:
Conectando um sinal a uma função¶
Nós em uma árvore emitem sinais quando algo acontece. Godot usa sinais para todo tipo de coisa. Um exemplo típico seria um botão que emite um sinal "pressionado" quando realmente pressionado.
Para isso, um nó deve ser selecionado e a guia Nó aberta. Isso permitirá inspecionar os sinais. Uma vez que eles são exibidos, conecte o sinal "pressionado":
Isto irá abrir o diálogo de conexão. Nesta caixa de diálogo, você deve selecionar o nó ao qual o sinal será conectado e a função que receberá o sinal:
Se isso for feito corretamente, uma nova função será criada em nosso script e um sinal será automaticamente conectado a ela:
Criando uma função manualmente¶
A última maneira de criar funções é fazer isso manualmente. Em geral, isso não é tão comum, a menos que você realmente precise. As funções personalizadas funcionam quando outro script (ou o mesmo) as chama manualmente. O principal caso de uso para isso é separar uma função em mais ou reutilizar seu código visual.
Para criar uma função manualmente, pressione o botão grande "Mais" e uma nova função será adicionada com um nome padrão:
Isso adicionará uma nova função, que pode ser renomeada simplesmente clicando duas vezes em seu nome:
Para editar os "argumentos" que esta função pode obter (os valores que você passa para ela quando chama esta função), simplesmente clique no nó Função e verifique o inspetor:
Mais sobre isso será explicado mais adiante neste documento.