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

../../../_images/visual_script1.png

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:

../../../_images/visual_script2.png

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:

../../../_images/visual_script3.png

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!).

../../../_images/visual_script4.png

Finalmente, o Editor de Script será aberto, permitindo iniciar a edição do script visual:

../../../_images/visual_script5.png

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:

../../../_images/visual_script6.png

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:

../../../_images/visual_script7.png

Finalmente, uma tela aparece para esta função, mostrando a substituição:

../../../_images/visual_script8.png

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:

../../../_images/visual_script9.png

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":

../../../_images/visual_script10.png

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:

../../../_images/visual_script11.png

Se isso for feito corretamente, uma nova função será criada em nosso script e um sinal será automaticamente conectado a ela:

../../../_images/visual_script12.png

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:

../../../_images/visual_script13.png

Isso adicionará uma nova função, que pode ser renomeada simplesmente clicando duas vezes em seu nome:

../../../_images/visual_script14.png

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:

../../../_images/visual_script15.png

Mais sobre isso será explicado mais adiante neste documento.