Primeiros passos com o Visual Scripting

Como em tudo na 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.

Em Godot, um script visual se encaixa perfeitamente com scripts regulares na guia Editor

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

Na verdade, o Visual Scripting se integra tão bem na 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

Creating a 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

Finally, the Script Editor will open, allowing you to start editing the visual script:

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

Adding a function

Ao contrário de outras implementações de scripts visuais, o Visual Scripting na 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. Na 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:

Overriding a virtual function

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

Connecting a signal to a function

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

Creating a function manually

The last way to create functions is to do it manually. In general, this is not as common unless you really need it. Custom functions work when another (or the same) script calls them manually. The main use cases for this are breaking a larger function up into several manageable chunks and reusing your visual code.

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.