![](https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Godot_logo.svg/1200px-Godot_logo.svg.png)
######
screenshoot by Kmitt 91 and Wojtek Pe
Aula 5 para a engine Godot 3.2.3
Hoje vermos a ula de interface de usario para a engine Godot, vermos como criar menus interativos nela usand os proprios recursos da engine, a Godot permite o desenvolvedor a usar qualquer Interface do Editor da Godot dentro do seu jogo, facilitando o desenvolvimento de forma massiva.
Primeiro iremos criar um node do tipo 'user interface', o 'user interface' e ultilizado para organizar items de um menu, e podemos ultilizalo para mudar varias propredades de um menu inteiro sem ter que preocupar em mudar variaveis de cada um de forma individual.
![](https://i.imgur.com/XZcBPld.png)
proximo passo criaremos um node chamado 'ninepatchrect' que servirar para agrupas os nosos nodes.
![](https://i.imgur.com/fZeAkCh.png)
e mudaremos o valor x no atributo size na aba rect para 100.
![](https://i.imgur.com/b1SUKle.png)
e mudaremos o 'layout' para center, centralizando qualquer items que serao postos dentro do mesmo, ajudando em organiza-los
![](https://i.imgur.com/wMKnMxE.png)
proximo iremoso criar um node filho, chamado 'VBoxContainer', ele irar impedir os items do menu de ficar um acima do outro, ajudando ainda mais em organizalos
![](https://i.imgur.com/REoa3sj.png)
proximo nos iremos botar o Layout do VboxContainer em 'VCenter Wide'
![](https://i.imgur.com/QK5XZmw.png)
e mudar o atributo 'Algiment' para 'Center', garantindo que tems do menu ficarao no centro da tela
![](https://i.imgur.com/51Nmlpk.png)
entao iremos adcionar um node button
![](https://i.imgur.com/8xKguOC.png)
e mudaremos o atributto text no Button para 'teste button'
![](https://i.imgur.com/JO4f3sD.png)
e criaremos um node do tipo 'textedit'
![](https://i.imgur.com/I0CUuay.png)
criaremos um novo script
![](https://i.imgur.com/xRgHErk.png)
e iremos a opçao Node ao lado do inspetor do item button, one olharemos os sinais, iremos escolher a opçao 'button_down' e iremos connectar o sinal, ao node com o script, isso era permiter um pedaço de codigo a ser executado toda vez que o botao e pressionado.
![](https://i.imgur.com/zb3NroS.png)
![](https://i.imgur.com/LTMhlsA.png)
![](https://i.imgur.com/iMdGUqB.png)
e introuduziremos o seguinte codigo
```
extends Control
func _on_Button_button_down():
var texto = $NinePatchRect/VBoxContainer/LineEdit.get_text()
$NinePatchRect/VBoxContainer/Button.set_text(texto)
```
a variavel texto recebe como o valor o texto dentro do 'LineEdit' usando a funçao 'get_text', e entao o valor e atributo ao texto do botao com a funçao 'set_text'.
se escrivermos algo dentro do LineEdit, se clicarmos o botao iremos substuir o texto no botao pelo texto no LineEdit.