![](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.