Sejam muito bem-vindos ao nosso curso completo e 100% gratuito de introdução a Godô 4 e a sua linguagem de programação GD script então se você nunca criou um jogo na vida se nunca mexeu na Godo e principalmente se nunca programou uma única linha de código este curso aqui é para você pois nele estaremos começando do básico do básico mesmo baixando e instalando a Godô criando o nosso primeiro projeto entendendo o que que Significa todas essas Abas aqui Pois quando a gente Abre o programa pela primeira vez a gente fica meio assustado né com tanto de
informação que tem aqui mas podde ficar tranquilos porque a gente vai no passo a passo entendendo Para que serve cada uma delas e no decorrer do curso estaremos criando este nosso personagem aqui que é o nosso poderoso Mago e com isso entendendo um pouco melhor como é que funcionam os nós e o lance de cenas na Godô E é claro que Nós não poderemos ficar apenas na interface da godu já que também estaremos aprendendo a programar na linguagem de programação GD script que é uma linguagem de programação voltada exclusivamente para Godô Mas ela é super
parecida com python então se você aprender G script Meus parabéns você aprendeu o Python também E no caso esse aqui é o script que estaremos criando na última aula do curso onde a gente vai programar a Movimentação do nosso personagem será uma movimentação top Down né para cima para baixo pra direita e para esquerda e também nas diagonais Então a gente vai est programando essa movimentação aqui mas antes de fazermos isso teremos diversas aulas onde aprenderemos de fato a programar e será não apenas a programação de um jogo em si mas a lógica da programação
Então a gente vai est aprendendo o que que são variáveis do tipo int float Bull string o que que São arrays o que que são operadores aritméticos operadores lógicos operadores relacionais o que que são for Loops w Loops como TR Loops definidos como TR Loops que interam como TR Loops infinitos também aprenderemos a mexer com funções né que tem retornos funções simples funções com parâmetros então estaremos aprendendo muita coisa galera e o melhor de tudo 100% gratuito este curso aqui para quem já tá mais tempinho no canal tá ligado que nós já lançamos Ele em
formato de aulas separadas então se você preferir você pode assistir aula por aula né Vídeo por vídeo temos ao todo 19 aitas aqui que ficaram muito legais galera eu fiz com bastante carinho Mas se você preferir você também pode assistir nesse vídeo onde tem tudo condensado num único lugar o que também é bem legal ele tá se não me engano com um pouco mais de 5 horas de conteúdo e como eu disse galera este curso aqui é 100% gratuito não tem que pagar nada Para assistir nem para baixar os arquivos mas se você curtir as
aulas né e tiver AF fim de desenvolver o seu primeiro jogo na Godô nós temos um curso que acabou de sair do forno que estarei deixando o link aí na descrição e no comentário fixado no momento ele tá custando R 34,90 mas quando lançar esse vídeo eu farei com que ele tenha um cupom onde você pagará apenas R 22,90 Então você vai estar pagando 23 pilas no curso que Tá fresquinho galera acabou de sair e nele estaremos criando o nosso primeiro jogo na Godô ou seja estaremos aprendendo todos os básicos sim mas estaremos estendendo criando
o sistema de geração de objetos trabalhando com música interface de usuário e tudo mais então isso aqui é bem legal e se você gostar né bastante de desenvolver jogos e quiser aprender outras ferramentas também temos alguns cursos onde criamos jogos na Unity que é Um outro programa também muito bom e muito poderoso de criação de jogos nesse curso a gente cria um jogo de iniciante né para você começar a aprender a mexer na Unity neste outro aprendemos a criar um jogo de plataforma 2D que é bem legal e neste terceiro aqui aprendemos a criar um
jogo FPS retrô estilo One fence está em 3D sabe os FPS clássicos da década de 90 então a gente aprende a criar um jogo Nesse estilo aqui na Unity E lembrando que comprando esses cursos além de você Tá adquirindo um conhecimento muito maneiro você também estará ajudando a manter o canal vivo galera e se tiver uma graninha sobrando no final do mês com R 5 por mês você já pode apoiar o canal no apoia-se E com isso você ajuda a manter os cursos gratuitos para todos e esse projeto Vivo e funcionando então Agradeço a todos
vocês que puderem apoiar o canal na apoia-se ou comprar um os cursos na udem mas se não puder tá tudo bem pois a gente vai continuar Produzindo essas aulas aqui com todo o carinho de sempre então deseja um bom estudos para vocês e lembrando vai na calma não precisa fazer tudo num Único dia não tá então até o próximo vídeo e fui sejam muito bem-vindos à primeira aula do nosso novo curso gratuito chamado Começando na Godô e neste curso nós estaremos indo do zero desde baixando a Godô no nosso computador e criando do nosso projeto
até compreendendo a sua interface criando o Nosso primeiro script e entendendo como é que funciona a programação dentro dela ou seja entenderemos o que são variáveis funções arrays condições e todas essas coisas maneiras que utilizamos no dia a dia do desenvolvimento então para quem este curso este curso aqui tem dois públicos alvos o primeiro público alvo seria para as pessoas que nunca desenvolveram um jogo ou seja se você nunca fez um jogo na vida tá entrando nesse universo agora esse curso aqui de Introdução é para você e o segundo público alvo são as pessoas que
já mexeram com desenvolvimento de jogos só que fizeram isso na Unity ou não real Mas agora estão a fim de conferir a Godô então se você nunca fez um jogo na vida ou já fez mas foi em outros programinhas esse curso aqui é para você então nessa primeira aula nós estaremos baixando a godon no computador e também entendendo o que que ela é Então bora lá como podemos ver já estou aqui no site da Godô que eu estarei deixando aí na descrição e também no comentário fixado o link para acessá-lo então acessando o site tudo
que temos de fazer para baixar a Godô é vir aqui nesse botãozinho Escrito download latest onde nós baixamos a versão mais recente e clicarmos nele então fazendo isso a gente clica e vai aparecer essa nova página onde temos duas opções da godo para baixar no caso a Engine e a Godo Engine net e qual que é a diferença Entre essas duas a princípio não tem nenhuma é o mesmo programa A diferença é que a Godo pnet te permite programar em C Sharp ou seja se você já tá acostumado com a linguagem de programação csharp você
pode utilizar essa versão aqui caso contrário você pode utilizar a versão padrão apenas Godo Engine onde nós utilizamos uma linguagem de programação chamada GD script que é uma linguagem própria da godo e também muito parecida com python que no caso é a linguagem que Estaremos utilizando nesse curso Então a gente vem aqui e clica para baixar esta versão e pronto com isso a Godô já começará a baixar Olha só que coisa da hora e para quem tiver se perguntando se a Godô é paga ou gratuita aqui vai uma notícia maravilhosa ela é 100% gratuita ou
seja não importa se seu jogos são gratuitos ou você ganha 1 bilhão de Dólares com ela a Godô é 100% gratuita porque ela é mantida através de contribuições Ou seja você mesmo pode Vir aqui e clicar em fazer uma doação ou uma empresa né que tem muita grana e realmente acredita na Godô vai lá e doa 10 20 30.000 e desse jeito a Godô consegue se manter viva sendo 100% gratuita o que é muito da hora ó como está dizendo aqui a godou existe graças a pessoas como você então as pessoas que vemm aqui e
doua uma graninha que não precisa ser muito se você doa um pouquinho aqui outra pessoa doa um pouquinho ali o programa já consegue se Manter vivo Então beleza tendo explicado tudo isso Vamos acessar o programa em si Então vamos ir na pasta onde eu salvamos No meu caso eu tenho uma pasta exclusiva para essa versão ó godo 41.2 e ele vai baixar um arquivo zipado né então a gente vai clicar com o botão direito e vir em extrair aqui e eu consigo fazer isso porque eu tenho um programa como o wih né então fazendo isso
já podemos usar Godô é literalmente isso a gente não precisa instala ela é Só tela Baixada e aqui como podemos ver temos dois ícones né a Godô normal e a Godô que está escrito console no final e qual que é a diferença desses dois no caso a versão do console ela vai abrir uma janelinha preta que a gente utiliza para digitar alguns comandos só que a gente não precisa se preocupar com isso aqui não a gente vai est utilizando a Godô normal mesmo que só abre o programa e nada mais então vamos clicar duas vezes
em cima do ícone E com isso Aparecerá a janelinha vamos deixar em tela cheia aqui e aqui já podemos criar os nossos projetos Abrir projetos existentes e tudo mais eu já tenho um projeto aqui chamado perigos no céu que foi um jogo que nós fizemos o nosso curso onde criamos o primeiro jogo na Godo Este é um curso pago mas ele é super baratinho galera extremamente acessível Se tiver interesse estarei deixando o link aí na descrição e no comentário fixado também então se você Já tem um projeto aberto você pode simplesmente clicar aqui nele e
ele vai abrir mas se não tiver nenhum você pode vir aqui em new Project e criar um novo projeto só que tudo isso nós estaremos fazendo na próxima aula aula galera já que essa primeira aula aqui é mais para realmente baixar o programa e entender o que ele é então explicando rapidamente né se você nunca fez um jogo na vida o que que é a Godô a Godô é um programa de criação de jogos ou seja nela você pode Criar os seus jogos montando as fases os personagens e também programá-las então dentro do mesmo programa
você monta a parte visual do jogo monta a parte sonora e também faz toda a sua programação eu sei que é uma coisa que só falando Pode parecer confusa mas conforme as aulas forem se passando a gente vai entendendo um pouquinho melhor então muito obrigado a todos vocês que acompanharam essa primeira aula estou Muito feliz com o início desse curso espero que vocês também estejam e também agradeço a aliss Matoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos produzir mais cursos e tutoris gratuitos aqui no YouTube então muito obrigado e
até a próxima aula sejam muito bem-vindos a segunda aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e Nesta aula estaremos aprendendo como Que podemos criar um novo projeto na Godô E com isso começar a programar e desenvolver os nossos jogos e como vocês lembram na aula passada nós vimos como baixar o programa e no finalzinho da aula abrimos ele então com o programa aberto tudo que temos de fazer para criar um novo projeto é vir aqui no canto superior direito da tela e clicar em new Project então a gente
clica aqui e com isso a Godô abrirá essa nova janelinha onde podemos fazer algumas Configurações iniciais no caso a primeira coisa que podemos configurar é o nome do projeto ele vem por padrão né new game Project mas esse aqui não é um nome muito bom né então estarei dando o nome de curso Começando na então V colocar este nome aqui e agora nós podemos escolher aqui em project onde que queremos salvar então vamos Aqui brow e Log em seguida escolher a p onde queremos criar o projeto no eu tenho no hd exiv para salar os
projetos então tem aqui n projeto do curso perigos no céu então agora para este novo arquivo viremos em Create Folder e o nome pode ser o mesmo nome do jogo que no caso é curso Começando na Godô Então a gente vai colocar este nomezinho aqui e clicar em Ok e com esta pasta aberta clicarem em select current folder e fazendo isso já estamos meio camin Andado para criar o projeto agora precisamos escolher o tipo de renderização que o nosso jogo usará no caso nós temos três tipos o forward Plus mobile e compatibility é perdoe meu
inglês no caso galera o modo de renderização que estaremos utilizando é o modo mobile Porque como podemos ver aqui ele suporta tanto jogos de computador quanto de jogos para mobile ou seja celulares ele tem gráficos 3D menos avançados e não é muito bom para Construir cenas extremamente complexas mas na real isso não faz muita diferença aqui já que a gente vai est mais conhecendo o programa e praticando a programação do que de fato criando um jogo em si então a gente pode deixar no mobile que isso aqui pode ser mudado mais tarde tranquilamente e aqui
em version control metadata trocaremos de Git para n pois no caso Issa Aqui é onde a gente diz pra Godo qual que será o controle né o Versionamento do nosso código aqui a gente não vai estar trabalhando com isso então a gente configura do jeitinho que tá aqui e depois vem em Create and Edit E com isso a Godô abrirá e começará a criar o nosso projeto e uma coisa que eu amo da godou é que as coisas são super Ultra mega rápidas para criar o projeto ela demora um pouquinho mais como vocês puderam ver
porque aqui ela tem que criar o projeto do zero né não tem o que Carregar porque ela tá tendo que fazer tudo do zero mas olha só já abriu aqui instantâneo meu deve ter demorado tipo 10 segundos eu amo isso na godou então o programa foi aberto e se essa é a primeira vez que você tá mexendo nela meu Deus do céu o que que é tudo isso no caso galera temos aqui diversas janelas né tem aqui Cine Import F System tem a aba que aparentemente não tem nome né mas isso aqui a gente pode
chamar de trid viw também tem aqui inspector node History tem aqui em cima Cine Project debug editore help e tem mais 1 milhão de submenus meu Deus do céu como é que eu vou aprender tudo isso fica tranquilo dá uma parada dá uma respirada porque tudo isso aqui galera nós estaremos aprendendo o que fazem cada uma dessas janelas no passo a passo na próxima aula então muito obrigado a todos vocês que nos acompanharam nesta segunda aula e também muito obrigado a Alice Matoso por apoiar a nossa campanha De financiamento coletivo no apoia-se permitido Assim possamos
produzir mais cursos e tutoriais gratuitos aqui no YouTube e lembrando se puderem nós temos um curso pago de como criar o seu primeiro jogo na Godô link na descrição e no comentário fixado então até a próxima aula sejam muito bem-vindos ao treino do curso crie o seu primeiro jogo na Godô usando GD script eu sou Gabriel do canal desenvolvendo jogos seu professor e Nesse curso Vamos aprender a criar um jogo do zero até o final criando o seu personagem programando sua movimentação e suas animações também aprenderemos como trabalhar com os famosos signals e groups para
identificar colisões como criar e programar um sistema de spal infinito e aleatório para os objetos do jogo como exir músicas e efeitos sonoros como criar um game over trabalhar com a interface de usuário e muito mais Exportando o jogo no final para jogá-lo fora da Godô e esse é um curso voltado para iniciantes ou seja todas as aulas foram planejadas e gravadas dando o máximo de atenção aos detalhes utilizando slides para compreendermos conceitos mais abstratos como variáveis condições e arrays e faremos tudo isso utilizando a god e a linguagem de programação GD script que vem
ganhando cada vez mais espaço e ficando ainda mais popular e este curso conta com mais De 8 horas de conteúdo divididas em 38 aulas muito bem Preparadas espero que se divirta bastante com curso e aprenda diversas coisas novas então nos vemos nas aulas sejam muito bem-vindos à terceira aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e Nesta aula aqui estaremos conhecendo e entendendo toda a interface da Godô pois como vocês se lembram na aula passada Nós criamos nosso primeiro projeto fizemos as configurações iniciais dele mas hum O que que
significa todo esse monte de informação aqui é isso que estaremos descobrindo Nesta aula então bora colocar a mão na massa a primeira coisa que estaremos analisando é esta janela aqui do meio galera porque ela é tanto a maior de todas e também é possivelmente a mais importante já que é nessa janelona aqui do meio que a gente monta o nosso jogo Então vamos supor que você tá montando uma fase aí que tem um piso de grama aí você tem uma parte com areia aí você tem o seu personagem as moedas o inimigo e tudo mais
então você vai posicionar tudo isso através dessa janela aqui do meio Pois é aqui que você monta o mundo do seu jogo e no caso a Godô te permite criar jogos tanto 2D quanto 3D Então se vocês vierem aqui em cima ó veremos que temos uma aba chamada 3D que é a que estamos no momento e também uma aba Chamada 2D que quando a gente clica a janela do Meio continua aparecendo mas a visão dela mudou completamente porque aqui na opção 3D a gente usa desenvolver um jogo 3D então nós temos os eixos x y
e z a gente tem todos esses eixos aqui paraar emog 2D como não exist profundidade né Nós temenos x e y o z não exist aqui então essa é a aba principala onde a gente o nos jog E no caso para mexer nelas você pode simplesmente utilizar o mouse ó se A gente mexe o mouse nada acontece mas se você apertar a bolinha do meio do mouse vocês podem ver que o símbolo do cursor até muda ó vou soltar tá a setinha apertar fica essas quatro setas né e com a bolinha do Meio pressionada você
movimenta o seu Mouse e fazendo isso você começa meio que navegar no mundo do seu jogo então você pode montando na fase aqui e se você chegou no final da tela é só apertar a bolinha do meio do mouse e arrastar pro lado Mas se a bolinha do meio do mouse tiver quebrada ou você tiver usando o mouse do notebook né e não tiver essa bolinha você pode usar a mãozinha aqui em cima a gente já já olha com mais calma essa barra de ferramentas Mas ó só falando tem uma mãozinha chamada pen mode que
quando você clica nela você não tem que apertar Bando do meio do mouse você pode movimentar tranquilamente e aí para voltar pro modo de seleção normal você clica na setinha Que é o select mod então isso aqui é pro 2D já se você aperta a bolinha do meio aqui na aba 3D você começa a rotacionar o mundo Olha só que coisa da hora galera Então temos aqui essas duas Abas que a gente trabalha bastante quando tá fazendo o jogo você dificilmente vai trabalhar com as duas Abas ao mesmo tempo né a menos que você esteja
desenvolvendo o jogo 2D E5 que são jogos com gráficos 3D mas com a perspectiva 2 D sen não vai est usando As duas o tempo inteiro né então vamos deixar na 2D que eu acho que fica uma tela mais limpa então conferimos aqui a primeira janela que é a janela onde a gente cria o nosso jogo Então vamos agora dar uma puladinha aqui pro canto esquerdo da tela que aqui como podemos ver temos uma aba chamada cene que traduzindo seria cena e o que que é uma cena na Godô tudo é uma cena você vai
ouvir pessoas falando isso o Tempo inteiro então quando a gente fala cena nós nos referimos a um objeto específico do nosso jogo Então vamos supor que você tem um personagem Então você tem a cena do seu personagem aí vamos supor que você temha uma moeda você tem a cena da moeda aí vamos supor que você tem a fase do seu jogo né com os inimigos posicionados os objetos e tals Então esta fase será uma outra cena eu sei que eu está falando é uma coisa meio esquisita de se pensar mas Poem ficar tranquilos Porque conforme
a gente for estudando e praticando a gente vai entendendo melhor esse conceito de cenas Então temos a bacine que é on a gente faz as configurações do nosso objeto e no caso a gente faz essas configurações através dos nós ou inglês node isso aqui também é um conceito que pode parecer esquisito logo de início mas na próxima aula nós estaremos conferindo de fato o que são esses nós e como que podemos trabalhar com eles Então dando uma explicadinha bem rapidinho agora um nó é como se fosse uma parte do seu objeto ou seja você pode
ter um objeto que é dividido em várias partes então pro seu jogador Você pode ter um nó que controla sua física outro nó que controla sua colisão e outro nó que controla a sua o seu visual sei confuso mas na próxima aula a gente vai entender direitinho como é que isso funciona então aqui na AB Cine basicamente nós Montamos o nosso objeto Logo em seguida bem do ladinho da Aba Cine nós temos a aba Import que é onde nós realizamos alguns ajustes na hora de importar algum arquivo no momento ela tá vazia né não tem
nenhuma opção mas é porque nós estamos com nenhum arquivo selecionado Então vamos rapidamente vir aqui ó embaixo na aba file Porque aqui nós temos o explorador de arquivos nosso projeto ou seja tudo que formos utilizar no nosso jogo sejam gráficos sejam músicas efeitos sonos o Que for aparecer aqui no momento a gente não tem nada no nosso projeto então ele só tem a imagem do ícone que já vem automaticamente com todo santo projeto que você criar então para testar a b Import vamos clicar né selecionar o nosso ícone e olha só agora apareceram diversas informações
aqui então AB port Como eu disse serve para configurar né a o nosso objeto importado então aqui a gente coloca se ele vai ter algum filtro né para tirar Serrilhado coloca se ele é uma textura uma imagem um Atlas o que for a gente configura tudo isso aqui na AB Import E aí depois que faz todas as configurações clica em reimport E aí aou re importa esse arquivo alterando tudo isso no caso a gente não mexe muito nisso né quando a gente tá só mexendo aqui conferindo como é que tudo funciona mas eu acho interessante
dar explicada marotinha pra gente entender direitinho Então temos a aba Import aba Cine e também a file System aqui no canto esquerdo e agora pulando para o lado direito da tela nós temos mais três Abas a aba inspector a aba node e a aba history Então vamos começar pela mais fácil de todas que é ABA History aqui tem um histórico de tudo que a gente fez o nosso projeto nos últimos segundos minutos né no caso não tem absolutamente nada tem apenas The Beginning pois a gente ainda não fez nada no projeto mas por Exemplo se
aqui na aba file System nós pegássemos o ícone e arrastos para a janela do meio a gente pode pegar e arrastar em qualquer lugar Olha só que coisa interessante aqui na aba History aparecia que criamos um nó Então temos o histórico aqui né primeiro a gente começou o projeto e depois a gente criou um nó E aí se selecionássemos esse nó que é essa imagem e deletemos apertando delete e Ok e aparecer aqui no histórico que nós removemos o nó então a aba History faz justamente isso ela mantém o histórico de tudo que a gente
fez Então temos aqui aba node e também aba inspector no caso para entender melhor essas duas Abas vamos recolocar a imagem que deletamos então vamos trazê-la aqui para a Gena do meio e agora vamos clicar em cima dela e olha só clicando em cima da nossa imagem podemos ver aqui na AB inspector que antes não tinha nada aparecendo mas agora tem um trilhão de coisas então a spectro nos permite Inspecionar o objeto que está selecionado Então temos aqui a imagem selecionada então ele vai mostrar qual que é a sua textura que no caso é o
rostinho do robô da Godô podemos alterar o seu offset controlar a sua animação também escolher a sua rion que seria para cortar a imagem e a coisa mais interessante eu acho né que nós podemos alterar a sua posição então a gente vem aqui na opção Transform E com isso a gente Altera a Posição e também Y então a gente pode colocar a posição Y de 22 e a x de 12 e fazendo isso olha o nosso objeto vem bem para esse cantinho aqui da tela então com objeto selecionado na inspector a gente vê literalmente tudo
sobre ele e também pode controlar algumas propriedades Então a gente tem aqui AB inspector E também temos a aba node que aqui nessa aba nós podemos ver que temos duas outras Abas a signals e a groups no Caso aba groups está vazia porque esta aba aqui nós utilizamos para gerenciar o agrupamento de objetos e através desses grupos nós podemos identificar colisões mais facilmente Então vamos supor que você quer identificar no seu jogo se o objeto que corrigiu com a moeda foi o jogador no caso você pode utilizar os grupos para isso porque aí você você
vai colocar o jogador em um grupo chamado jogador E aí sempre que um objeto colidir com a sua moeda você vai falar Ah o objeto que colidiu comigo está no grupo do jogador se sim foi o jogador colidiu se não não faz nada então os groups são muito bons para por exemplo identificar colisões e aqui na aba signals nós podemos emitir sinais galera isso aqui também é uma coisa muito útil os signal para quem tá comeando na Godô às vezes podem ser um pouco confusos de início mas de verdade eles são bem tranquilos de usar
vez que a gente consegue dar volta por cima da confusão Inicial a gente ver o quão úteis e Poderosos eles são quando nós referimos a signals estamos falando que o noso objeto emitir um sinal e para exemplificar melhor isso eu vou aqui na abine e vou clicar nesse mais a gente já já vai entender melhor como tudo isso funciona nas próximas aulas mas só me acompanha ó vou clicar aqui no mais e na barrinha de pesquisa vou procurar pelo nó chamado timer e clicar duas vezes em cima dele para Adicionar no caso o nó do
timer é o nó que nos permite criar um cronômetro no jogo sem ter que programar isso do zero então com timer selecionado veremos aqui na AB node que os seus signals mudaram né né estão diferentes dos que estavam quando a imagem estava selecionada e aqui ele tem um sinal chamado time out que significa esgotar de tempo então nós podemos configurar para que quando o cronômetro chegue em zero né quando a sua Contagem for zerada A Godô emita o sinal dizendo olha só a contagem foi zerada E aí os scripts né a programação que tiver conectada
nesse sinal poderá fazer alguma coisa então a gente pode emitir sinais aqui mais para frente estaremos fazendo isso também mas por enquanto o importante é que já entendemos né a que é a aba signals e groups então fazendo isso demos uma olhada em todas essas Abas aqui então vamos agora olhar aqui a aba de ferramentas que não é exatamente uma aba Né só uma parte aqui da interface mesmo e a primeira ferramenta que temos é a ferramenta de seleção E no caso essa ferramenta faz justamente isso ela seleciona as coisas então a gente pode vir
aqui e clicar na imagem e com isso será será selecionada E no caso a gente pode por exemplo com a ferramenta de seleção mesmo ativa a gente pode pegar a imagem e arrastar pros lados e reposicioná-la né só que isso aqui tem um Inconveniente O Inconveniente é que a gente não consegue posicionar com precisão pois ó movimento o mouse e por mais que eu esteja tentando movimentar só para cima só para baixo a imagem Vai um pouquinho pro lado porque minha mão não tem a precisão absoluta né de não se movimentar e é justamente por
isso que ao lado da ferramenta de seleção nós temos a ferramenta de mover então a gente seleciona ela e agora veremos que apareceram duas setinhas aqui na imagem Ó setinha vermelha e a verde no caso a setinha vermelha representa o eixo horizontal que é o eixo X e a setinha Verde representa o eixo vertical que é o eixo Y então agora a gente pode de fato clicar na imagem movimentar para qualquer lugar ou Se quisermos um pouco mais de precisão a gente pode clicar nessas setinhas E aí quando a gente movimenta o mouse olha só
que da hora a gente movimenta só no eixo X ou só no Y isso aqui é muito útil Então a gente tem A ferramenta para selecionar e para mover e além dessas também temos a ferramenta para rotacion olha só que legal a gente clica e não vai aparecer nada né na imagem que nos indica o que temos de fazer Mas se a gente clicar fora da Imagem e começar a movimentar o mouse Ah olha só que da hora a gente consegue rotacioná-lo or E no caso se a gente movimenta só movimentando o mouse né ele
vai se movimentar livremente Mas se a gente Movimenta com control pressionado no teclado olha só ele vai se movimentando aos pouquinhos E com isso você tem mais precisão show de bola Então temos aqui a ferramenta para rotacionar e logo em seguida temos a ferramenta para escalonar ou seja mexemos na sua escala que é o seu tamanho ao selecionar essa ferramenta veremos que a aparece né setinha vermelha e verde que no caso não é exatamente uma seta né Tem uns quadrados aparecendo mas o princípio é o Mesmo se a gente clica na imagem e arrasta o
mouse a gente altera o tamanho da imagem sem precisão nenhuma Mas se a gente alterar o tamanho através dessas setinhas né Essas linhas vermelhas e verde a gente mexe só na horizontal ou na vertical Então olha só que coisa mais doidona né Então galera essas aqui são as ferramentas principais existem outras né como por exemplo essa ferramenta aqui de Snap que aí você consegue juntar quando tá movimentando né mais Facilmente em algum canto ou outro da tela tem a ferramenta que ativa um Grid né que é essa grade com isso você consegue ver direitinho onde
seu objeto Tá posicionado mas essas são coisas mais opcionais mesmo que é mais para level Design em si do que para montar um objeto Então temos aqui a imagem do robozinho que tá simplesmente maravilhosa e agora antes de finalizar a aula vamos conferir mais duas coisinhas Aqui na interface que temos aqui em cima né que a gente já viu que a gente pode alterar pra aba 2D ou paraa aba 3D mas no caso também temos a aba script e a aba asset Lib no caso a aba asset Lib nos mostra uma espécie de lojinha da
Godô então aqui nós podemos procurar ferramentas e até mesmo assets que nos facilitem a criação dos nossos jogos então aqui você tem códigos que foram feitos por outros usuários até mesmo por empresas e eles colocam aqui então você Pode vir aqui e procurar alguma coisa que te interesse se você tiver precisando de algo do tipo ou você pode simplesmente nem abrir essa aba aqui você não tem que mexer nela não Então temos aqui aba script que é onde nós realizamos a programação do jogo isso aqui é muito legal galera porque em outros programas Às vezes
a gente tem que ter o programa para desenvolver o jogo e um programa para programar mas aqui não fica tudo dentro então a gente Vai desenvolver no jogo aí vem para AB script programa volta e desenvolve vem aqui programa então isso aqui é uma mão na roda e agora vamos conferir a aqui ainda na parte de cima da tela só que no canto direito da tela nós temos uma barrinha de ferramentas para testarmos o jogo no caso a gente pode jogar o jogo pausar parar de rodar ou testar uma cena específica e o que isso
aqui significa galera significa que se eu clicar aqui na Claquete a Godô vai abrir essa cena Em si no caso se a gente clicar agora ela vai pedir para salvar a gente não vai estar fazendo isso porque mais paraa frente a gente vai mexer com cenas e tals Mas se a gente tivesse essa cena salva a Godô abriria ela no jeito que tá aqui com a imagem toda distorcida E com isso a gente poderia testar o jogo mas como podemos ver também temos um outro botão Play e qual que a diferença entre esses dois a
diferença é que o botão Play da Claquete abre a cena que estamos Aberta no momento que é cena do nosso objeto e o primeiro botão Play ele abre o jogo desde o início Então vamos supor que você tem um jogo com 10 fases se você quer testar desde a primeira fase você clica nesse primeiro Play aqui E com isso o jogo será recarregado desde a primeira fase mas se você quer testar uma fase específica do seu jogo né você quer por exemplo testar a fase S mas não quer recomeçar desde a primeira você abre a
fase sete e clica aqui no Play da Claquete e fazendo isso a Godô rodará diretamente a fase sete é uma coisa que só na teoria Pode parecer meu confusa mas na prática é bem tranquilo e é muito útil Então a gente tem tudo isso e por fim aqui embaixo temos umas Abas misteriosas que estão escondidas né mas essas são Abas que a gente usa quando de fato tá desenvolvendo o jogo né Por exemplo aqui na bput fica uma espécie de histórico que de tudo que a gente fez ó que a gente criou um nó moveu
ele para Essas posições e tals mas a BP também é bem útil para tar coisas no código né imprimir mensagens Então temos aqui também a aba debugger onde vai mostrar algum erro no nosso código se tiver algum erro E também temos aqui search results áudio isso aqui é bem útil né para controlar o volume das paradas temos Animation onde a gente pode criar uma animação O que é bem legal e também shader editor para editar os seus shaders isso aqui já é Uma coisa um pouco mais avançada a gente foca principalmente aqui na aba output
mesmo que para fechar o Abrir é só clicar em cima dela que tudo se resolve Então beleza conferimos aqui a interface da Godô então Vamos agora rapidamente dizer adeus ao nossa querida imagem então a gente aqui na AB Cine seleciona o ícone e deleta fazendo isso o nosso projeto volta ao seu estado normal então galera aprendemos aqui a mexer na interface da Godô e se não entendeu tudo pode ficar tranquilo porque essas são coisas que a gente realmente entende conforme vai usando não basta assistir uma aula e falar Ah beleza entendi não você tem que
usar tem que estudar dia a dia e aí você vai pegando o jeito então agradeço imensamente a companhia de todos vocês e também agradeço imensamente a Alice Matoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos proder mais Cursos e tutoriais gratuitos aqui no YouTube e agora na próxima aula estaremos começando a mexer com os famosos nós entendendo melhor como é que eles funcionam então muito obrigado se puderem deem uma conferida no nosso curso onde criamos o primeiro jogo na godu tem link a na descrição e no comentário fixado e nos
vemos na próxima aula sejam muito bem-vindos à quarta aula do nosso curso Começando na Godô eu Sou Gabriel do canal desenvolvendo jogos e hoje estaremos aprendendo como que poder podemos importar arquivos para dentro da Godô ou seja estaremos aprendendo a trazer os nossos gráficos músicas efeitos sonoros e basicamente tudo que a gente us em um jogo então a primeiraa que temos de fazer é baiar esses arquivos no caso eu estarei deixando o link aí na descrição e no comentá fixado se vocês acessarem Esse link vocês cairão aqui na página do Github e nessa página vocês
poderão baixar os arquivos que estaremos utilizando e podem ficar tranquilos que é de graça não precisa criar conta nem nada e como podemos ver aqui no github eu tenho uma pasta chamada assets que dentro dela Tenho duas imagens a imagem do nosso querido mago o poderoso Mago e uma imagem do piso que é só um retângulo colorido mesmo então vamos baixar essa pasta aqui do assets e utilizá-la no nosso jogo E para isso viremos aqui no Botãozinho Verde onde está escrito code a gente clica e vem em download Zip e é literalmente só isso a
gente clica aqui e termina de baixar é coisa de pouquíssimos segundos então agora a gente vai onde salvou o nosso arquivo que no meu caso eu salvei aqui na área de trabalho então como podemos ver já tem o arquivo zipado aqui e ele está zipado exatamente como estava o arquivo da Godô ou seja temos de extrair ele só que no caso é Interessante extraí-lo numa pasta própria caso contrário a nossa área de trabalho vai ficar cheia de arquivo solto Então vamos criar uma nova pastinha em seu nome podemos colocar arquivos que eu escrevi com Q
arquivos tracinho Começando na Godô 4 então a gente coloca esse nome aqui na pasta e agora arrasta o arquivo zipado para dentro dela beleza show de bola agora se abrirmos a nossa pasta veremos que temos O arquivo aqui dentro então vamos clicar com o botão direito em cima dele e vir em extrair aqui beleza belezinha agora dentro da pasta que foi criada temos aqui a pasta assets que é onde temos nossas imagens e também um arquivo de texto chamado créditos e aqui nesse arquivo de texto tá escrito de onde foi que eu tirei essas imagens
no caso eu não fiz elas né eu peguei do pack Tiny Dungeon criado pelo Kenny que é o rei dos Packs Gratuitos se vocês quiserem conferir mais assets dele dá uma conferida no site que tem aqui e também tem aqui o arquivo ridm mas isso aqui é coisa do github não precisa se preocupar não então para trazer a pasta assets para Godô o que faremos é voltar para Godô e com a nossa pasta aberta a gente seleciona o e arrasta aqui para a aba file System pois vocês se lembram que eu falei que a aba
file system é a aba explorador do Nosso projeto então é aqui que a gente tem todos os arquivos então a gente arrasta aqui para dentro e pronto só isso agora os nossos arquivos já estão aqui olha só temos a pasta assets e dentro o nosso querido mago E também o nosso piso e agora vamos rapidamente posicioná-los aqui galera depois nós estaremos deletando para aprender um jeito melhor de fazer isso mas vamos rapidamente posicioná-las porque eu quero mostrar uma coisinha ó a gente vai Pegar a imagem do piso e arrastar aqui pra janela do meio e
aí o peso vai aparecer beleza e agora a gente vai pegar a imagem do Mago e arrastar para cá também e show de bola temos as duas imagens aqui mas no caso galera temos um probleminha olha se a gente der um zoom aqui na imagem clicando aqui ó na opção de zoom aqui em cima o que veremos é que o mago está meio borrado galera e a imagem ela não é borrada isso aqui é por conta de um filtro que a Godo aplica que Dependendo da imagem você pode querer mas no nosso caso que é
pixel art é interessante não ter filtro nenhum então para resolver esse probleminha o que a gente faz é aqui no canto superior esquerdo a gente clica em project e depois vem Project settings e nessa nova janela que se abrir onde tem temos diversas informações a gente vem aqui na opção do rendering e vem em textures e agora a gente vem aqui na Primeira opção default Texture Filter tá configurado como linear ou seja tá com esse filtro que deixa um embaçado no caso nós queremos remover o filtro então a gente clica em nearest E com isso
a Godô trocará o nosso filtro tanto é que se trouxermos a janelinha aqui um pouco pro lado ver veremos que ó já tá completamente nío a nossa imagem ah que maneiro vamos trocar aqui do n pro linear de novo PR ver a diferença tempo real ó linear fica embaçadinha nest fica Bem nítido beleza show de bola galera agora já aprendemos a importar arquivos para godu e também configurá-los né Se forem pixel art pixelart não se for pixel art e desse jeito eles ficam sem filtro como eu disse depois nós estaremos aprendendo um jeito melhor de
configurar né os nossos arquivos de ao invés de simplesmente arrastar para cá a gente vai est aprendendo direitinho um jeito melhor de fazer isso então que podemos fazer é selecionar o nosso piso Aqui na aba Cine e deletá-lo galera pois Como eu disse depois a gente vai estar fazendo isso com mais calma então agradeço imensamente a todos vocês que acompanhar o vídeo até aqui e também agradeço a aliss matuso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e também agradeço se você
puder dar uma conferida no nosso curso onde criamos nosso Primeiro jogo na Godô como sempre o link está na descrição e no comentário fixado então muito obrigado e até a próxima fui sejam muito bem-vindos à quinta aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e Nesta aula estaremos aprendendo O que são nós e também dando uma entendida melhor no que que são as cenas pois nós demos uma olhada bem superficial na aula que a gente estava conferindo a interface da Godô mas nessa aula nós Vamos de fato nos aprofundar
nisso E no caso nós estaremos nos aprofundando criando o nosso personagem nós não estaremos programando ele aqui nessa aula mas na aula anterior nós já baixamos a sua imagenzinha pra gente ter com que trabalhar nessa aula aqui então bora lá colocar a mão na massa como vocês se lembram eu disse que tudo na Godô é uma cena ou seja o seu jogador será uma cena a moeda do seu jogo será uma cena o carrinho que o seu personagem Usa para andar será uma cena a fase onde você tem o seu jogo inteiro né os inimigos
objeto cenário isso também será uma cena Então beleza temos cena cena cena mas como é que a gente cria uma cena aqui nós já temos uma cena criada literalmente isso sempre que a gente abre o projeto na Godô ela já cria uma cena automaticamente Então essa área aqui 2D onde a gente consegue se movimentar pros lados e para cima ou a área 3D ambas são cenas então quando a Gente aqui no projeto já tem uma cena nova Olha só que coisa maneira Mas como podemos ver essa cena está vazia e uma cena vazia não serve
para muita coisa né então para resolver esse probleminha a gente cria os famosos nós Pois é através desses nós que nós podemos configurar o nosso jogo aqui na Godô então o que que são os nós os nós são as partes dos objetos que temos e para entender melhor vamos pular aqui PR bacine e criar o nosso primeiro nó no Caso o que queremos fazer é criar um nó que nos permitirá criar o nosso jogador porque o que acontece a Godô tem alguns nosos padrões aqui ó temos o nó de cena 2D o nó de cena
3D um nó paraa interface de usuário mas temos o botãozinho aqui de other note então se a gente clicar aqui veremos que a Godô abre essa nova janelinha onde temos diversos outros nós e como podemos ver Temos muita coisa aqui só que isso aqui não é tudo pois se por exemplo expandirmos aqui um novo de Dod veremos que temos mais um monte de nós que também podem ser expandidos Olha então cada vez mais aparece mais nó E no caso galera a Godô tem esse tanto de nó né esse tanto de partes podemos utilizar os objetos
porque ela nos permite fazer muitas coisas por exemplo temos um nó que a gente utiliza para criar uma câmera e desse jeito a gente consegue movimentar a câmera do jogo de um lado pro outro para cima e para baixo temos um nó chamado animated Sprite 2D que é Um nó que utilizamos quando queremos animar o nosso personagem ou seja se nosso personagem tem uma animação quando ele tá parado e outra animação quando ele tá andando é esse nó que a gente usa aqui também temos nós 2D e nós 3D que aparecem aqui ó em node
3D que temos basicamente as mesmas coisas só que utilizadas para jogos 3D Então temos uma penca de nós aqui Mas qual que é o nó que a gente usa para criar o nosso no personagem no caso é um nó chamado Character Body 2D então pra gente conferir melhor vamos pegá-lo aqui que a gente poderia sim ficar procurando aqui no meio desses um trilhão de opções mas podemos simplesmente vir aqui na barra de pesquisa e digitar Character B 2D que se escreve Charter Boy 2D Então galera temos aqui o nosso nó que Como podemos ver sempre
que a gente seleciona ele aparece uma descrição aqui embaixo ó Character Body 2D o que que é A fys b Specialized for characters moved by script Então o que ISO aqui significa é que é um corpo físico 2D ou seja para jogos 2D especializado para personagens que se movem via script E esse monte de palavra Pode parecer não fazer muito sentido mas basicamente nós temos um corpo físico Ou seja que consegue interagir com as físicas do nosso jogo e ele é específico para personagens que se movimentam pela programação ou seja se você tá criando Um
personagem aí no seu jogo e você quer movimentá-lo pela programação ou seja configurar para que ao apertar determinada tecla ele vá para determinado lado é este nó aqui que você estará utilizando existem outros os nóos que te permitem trabalhar com física também você tem por exemplo rigid B que você usa para trabalhar com gravidade e tals mas o Character B é o nó mais simples e também mais rápido pra gente criar um personagem então estaremos Utilizando ele aqui então a gente seleciona car bo 2D e pronto criamos o nosso primeiro nó e também já temos
a base pro nosso personagem porém temos dois errinhos aqui né O primeiro é que o nosso personagem era para ter imagem do Mago que no caso não tem e o segundo é que aqui na bacine ao lado do car board 2D temos um triângulo Zinho amarelo e no caso esse triângulo amarelo é um indicativo que tem alguma coisa errada Com o nosso nó e aqui ele manda a mensagem de que esse nó não tem nenhuma forma Portanto ele não consegue colidir nem interagir com outros objetos e o que isso aqui significa galera é que o
Nós criamos um corpo físico ou seja Nós criamos um corpo que pode colidir com os outros porém ele por si só não colide a gente tem que dar um componente de colisão a ele e como vocês podem imaginar nós podemos fazer isso através de um outro nó ou seja nós podemos com o Character Body 2D selecionado clicar no símbolo de mais e aqui procurar um nó de colisão E no caso esse nó se chama collision Shape 2D Então olha a gente tem aqui um nó de colisão que a sua descrição aqui embaixo é a node
that provides a Shape to a collision Object parent então traduzindo esse aqui é um nó que nos permite adicionar uma forma 2D a um objeto de colisão ou seja o nosso Character bar 2D é um objeto de Só que no caso ele não tem forma então a gente adiciona um collision shape 2D E com isso a gente pode dizer qual que será a forma da sua colisão no caso podemos ver que aqui o colision shape foi adicionado mas ele está com errinho o erro sumiu do bar 2D porque agora a gente tem colisão mas agora
apareceu no collision Shape 2D dizendo que a gente precisa configurar uma forma para esta colisão e o galera que de início pode aparecer bastante coisa esse tanto de Coisa que tem que configurar Mas podem ficar tranquilos galera Porque conforme a gente vai estudando e praticando a gente vai entendendo direitinho e meu eu acredito em vocês e eu quero que vocês também acreditem em si mesmos porque por mais que possa parecer confuso no início quando a gente pega o jeito a gente faz isso aqui de olhos fechados Então agora que a gente tem o componente de
colisão a gente precisa dizer qual que é a forma dele ou seja se Vai ser uma colisão quadrada uma colisão circular e tal mas é meio difícil dizer qual que será a forma de colisão se a gente não tem a imagem para ver qual que é a forma dela né então antes da gente configurar a forma de colisão vamos adicionar uma imagem pro nosso jogador que no caso é imagem do Mago antes a gente simplesmente pegou a imagem e arrastou para cá isso até que funcionaria porém estar mostrando um jeito melhor de fazer Isso que
no caso é selecionando o nosso Character B 2D a gente clica no mais aqui para adicionar um novo nó E no caso queremos adicionar um nó que nos permite mostrar uma imagem no jogo e uma imagem é um Sprite então a gente procura pelo nó chamado Sprite 2D então a gente coloca aqui ó Sprite 2D e a sua descrição é General purpose Sprite node Então esse aqui é o nó de propósito geral a gente utiliz para mostrar qualquer imagem então a gente Clica duas vezes em cima dele e agora já podemos adicionar uma imagem olha
só que da hora então adicionar uma imagem podemos ver na inspector temos opha chada Texture que no momento está vazia porque não possui nenhuma textura então oem é AB file System arrastar o Sprite do Mago até a AB inspector aqui em Texture então a gente arrasta para onde tá escrito empty e pronto surgiu a nossa imagem Ah olha só que da hora galera ela apareceu bem aqui no cantinho bem no Cantinho não né aqui no centro da tela né no centro dos eixos e show de bola galera e por que que eu quis adicionar desse
jeito ao invés de simplesmente arrastar a imagem por dois motivos O primeiro é que a gente simplesmente arrastando a imagem a gente não tem como saber né que esse nó aqui é um nó do tipo Sprite 2D então criando o nó do zero a gente tem essa noção o segundo motivo é vocês puderam ver que quando eu adicionei para cá a simplesmente Arrastando do file System pra janela ele adicionou onde o mouse parou Porém quando eu adicionei através do nó Sprite 2D o a Godo adicionou a imagem bem no centro aqui ó no centro do
Y no centro do X e isso aqui galera é muito muito muito importante porque se a sua imagem né se o seu objeto não tá Centralizado bem aqui ó no meio do X e no meio do y o que pode acontecer é que quando você for utilizar o seu personagem ou o seu Objeto no jogo ele vai est deslocado é uma coisa que é meio difícil de explicar só falando mas já já a gente vê como é que isso funciona ó a gente já tem a imagem dele então já podemos configurar a sua forma de
colisão Só que no caso o cision shape não tá aparecendo aqui por cima dele né então o que a gente vai fazer é pegar o collision shape aqui na bacine e trazer para baixo do Sprite 2D apenas isso só tomem Cuidado para não fazer filho do Sprite 2D Então não é Para arrastar para cima dele não é para arrastar para baixo fazendo isso ele continua fazendo parte do car board 2D mas agora a sua forma vai aparecer em cima da imagem Então vamos agora definir uma forma para ela né então com collision Shape 2D selecionado
aqui na AB inspector a gente vem em shape e clica onde tá empty e aqui escolhe uma nova forma olha só que da hora temos diversas formas aqui mas aqui nos interessa mesmo é essa forma circular Porque a que mais se aproxima a da nossa imagem né então a gente seleciona New Circle Shape e taran ela apareceu aqui Ah que da hora ó mostrando rapidamente se a gente tivesse o nó da colisão acima do Sprite aqui a forma não apareceria né porque o Sprite estaria sendo desenhado depois dela então a gente adiciona ela aqui embaixo
assim a gente vê então beleza temos uma forma de colisão Porém porém porém ela está minúscula Olha só o tamanho Zico do Círculo e o tamanho da Imagem então para aumentar a gente pega nessa bolinha vermelha que tem aqui do lado da forma de colisão e arrasta o mouse ó e toda a área azul é a área cidel né a gente pode chamar assim então a gente vai deixar acho que desse tamanho não tem problema se tiver um pouco fora a colisão porque o jogador dificilmente vai encostar a pontinha do chapé aluma coisa né quando
ele encostar a ponta do chapé ele vai estar encostando o corpo inteiro então podemos Deixar a forma de colisão desse tamanho e agora o nosso personagem está pronto Olha só que coisa da hora galera temos aqui o nossa primeira cena criada Então é isso aqui que é uma cena é uma coleção de nós então temos o nó que controla a física do jogador né o KGB 2D temos o no que controla o seu visual que é o Sprite 2D e o no que controla sua colisão que é o collision shape 2D é só isso galera
como eu disse de início Pode parecer confuso mas conforme a gente vai Estudando e praticando vai entendendo direitinho e agora vamos dar um nome pro nosso nó Porque no momento ele se chama Character B 2D né então vamos clicar duas vezes em cima dele para [Música] renomeável nó do jogador que também é a cena do jogador Então o que faremos agora é salvar esta cena galera pois de nada adianta criá-la se a gente não salva né então a gente aperta control s para salvar e agora nós temos de criar Uma pasta específica para a cena
do jogador porque se a gente simplesmente começar a salvar as coisas na pasta raiz do Projeto vai ficar uma bagunça então vamos vir aqui em Create fold e podemos criar uma nova pasta chamada cenes para salvar as cenas do jogo Então dentro dessa pasta a gente cria uma outra pasta e coloca o nome de jogador que é para dizer que essa pasta aqui tem a cena do jogador e aqui antes De clicar Ok para criá-la reparem que o nome da pasta é jogador tudo em minúsculo mas o nome do objeto em si né do jogador
é com j maiúsculo Isso aqui é uma regrinha que não é obrigado né a se seguir mas ajuda a deixar as coisas mais organizadas né então quando você adicionar um nó a primeira letra é maiúscula mas na nomeação de pastas e cenas aqui ó é tudo minúsculo então a gente coloca o nome de jogador e dentro dessa pasta de fato a gente salva ela Beleza show de bola temos aqui o nosso querido o mago já Prontinho Prontinho Então vamos agora adicioná-lo no mundo do nosso jogo então para criar o mundo do nosso jogo vamos criar
uma nova cena porque tudo na godou é uma cena Então a gente tem a cena do jogador que a gente vai fazer só isso só montar o jogador e vamos criar uma nova cena que será por exemplo a fase do nosso jogo e apenas um lembrei galera que nesse curso Começando na Godo nós não estaremos de fato Criando um jogo né do início ao fim mas como Quero ensinar vocês a programação Quero mostrar as variáveis funções e tals eu acho que a gente precisa de pelo menos alguma coisa para trabalhar né então eu já quis
criar aqui o jogador e também uma pequena fase para ele poder se movimentar então para criar uma nova cena viremos aqui ao lado da cena do jogador e clicarem nesse mais e pronto Nossa cena está criada Olha só que coisa tranquila E no caso nós precisamos Definir um nó principal né que será o nó raiz da nossa cena aqui no jogador o nó principal foi um Character B 2D pois nós queríamos que essa cena se movimentasse né mas aqui nós não queremos que a nossa fase se movimente né Nós queremos que ela seja um objeto
parado então o que a gente faz é criar um nó do tipo 2D então a gente cria aqui um nó To The Cine E com isso a gente está dizendo pra Godô que essa cena é apenas uma cena 2D ela não vai fazer nada de específico então Que podemos fazer é renomear e aqui podemos colocar o nome de jogo pois essa cena conterá de fato o nosso jogo então a gente cria a cena e agora podemos salvá-la né então a gente aperta contol s e aqui vamos criar uma nova pasta para ela no caso tá
aberta a pasta do jogador então a gente clica aqui na setinha ao lado de pef para voltar e agora dentro da pasta ces a gente cria uma nova pasta pro pro jogo então a Gente clica em Create folder e coloca o nome de jogo tudo em minúsculo clica Ok e agora sim dentro dessa pasta a gente clica em salvar beleza show de bola temos aqui o nosso mundo então vamos trazer o jogador para cá e como é que a gente faz isso hum a gente poderia estar tentado né a clicar aqui no mais da AB
Cine e procurar aqui né a cena do jogador isso em teoria funcionaria mas como podemos ver não existe nenhum jogador aparecendo Aqui isso acontece galera porque embora o nosso jogador seja composto de vários nós ele não é um nó em si ele é uma cena então a o que a gente faz é que o símbolo do mais a gente adiciona um nó Mas do lado nós temos um símbolo de uma correntinha que adiciona uma cena Então sempre que quiser adicionar um nó na sua cena clica no mais mas sempre que quiser adicionar uma cena a
sua cena clica nessa correntinha E com isso vai aparecer todas as cenas que temos no Nosso jogo aqui a gente tem a cena do jogo e a cena do jogador no caso queremos trazer o jogador para cá então a gente simplesmente clica duas vezes em cima do jogador e tchar já temos o jogador aparecendo Olha que coisa da hora galera Então olha a mágica da Godô a gente tem a cena do jogador que tem só ele e aí tem a cena do jogo que tem o jogador isso é muito legal porque se a gente tivesse
criando o jogador dentro da cena do jogo a gente estaria com a Abine toda bagunçada Então imagina ia tá cheio de coisa aqui tá o Character B EA tá o Sprite e a colisão e quanto mais nós o seu objeto tivesse maior estaria a lista aqui então é por isso que é interessante separar tudo em cenas próprias Então temos aqui o jogador aparecendo só que ele tá no meio do nada né então vamos adicionar a imagem do piso que novamente nós poderíamos simplesmente arrastar a imagem para cá só que isso não é um jeito muito
bom né Pois ela para em qualquer lugar então aqui na bacine com o nó do jogo selecionado não do jogador mas o do jogo pois queremos que o piso apareça dentro do jogo em si e não fazendo parte do jogador então com do jogo selecionado a gente clica no mais e aqui como queremos adicionar uma imagem a nosso jog vocês adivinharam temos de usar o chamado Sprite 2D porque esse nó a gente mostra absolutamente qualquer imagem então a gente adicion Sprite 2D aqui e agora Aqui na inspector a gente Adiciona uma nova textura Então a
gente vai pegar aqui a textura do piso no File System e arrastar aqui para aba inspector e tar tarã temos aqui o nosso piso aparecendo com dois probleminhas o primeiro hum é que ele não está no local certo né Ele devia estar mais para cá e o segundo é que tá em cima do jogador Então vamos resolver essa parada primeiramente vamos trazê-lo mais pro Centro da tela e para fazermos isso com o nosso Sprite 2D selecionado aqui na AB inspector a gente vem na opção Zinha Transform que é onde controla sua posição e aqui nós
podemos digitar uma posição específica no caso acho que uma posição legal é de 640 no eixo X e de 360 no eixo Y então fazendo isso olha só que da hora a gente traz o nosso o piso bem para cá show de bola e esse valor aqui a gente não vai encontrar Magicamente isso aqui é teste que a gente vai fazendo né E agora temos de resolver o problema de que o jogador está abaixo do nosso piso Hum o que é que a gente tem que fazer no caso nós temos de configurar a profundidade das
imagens e o que eu quero dizer é o seguinte se voltarmos aqui na cena do jogador e acessarmos o nosso nó Sprite 2D que é onde a gente tem a imagem do Mago e viermos aqui na AB inspector veremos que aqui na opção ordering que Controla a ordenação né das coisas abrindo essa opção temos um campo chamado Z index e o que que é o z index o z index é justamente a profundidade das imagens no caso tá com valor de zero que é o valor padrão e o que acontece é que o nosso piso
também tem um valor de zero ó se voltarmos aqui pra cena do jogo e com Sprite 2D selecionado a gente pode vir aqui em Order também veremos que ele também tem o index de zero Então o que acontece é que tanto o piso Quanto O jogador aqui naão do jogador ambos estão aqui na camada zero né então a Godô não sabe muito bem o que que fica acima e o que que fica abaixo a gente tem que especificar isso então o que a gente faz é na cena do jogador a gente configura o seu Sprite
para um número qualquer acima de zero se a gente colocar por exemplo um já será o suficiente desse jeito absolutamente tudo que estiver abaixo de um aparecerá abaixo do Sprite do Mago Então como o Nosso piso ó vamos salvar a cena aqui apertando cont Crol s para salvar essa alteração e voltar aqui pra cena do jogo aqui ó ó como o nosso piso Tá na camada zero do Z index o zero tá abaixo do um então ele fica abaixo do jogador Olha só que coisa mágica galera e eu sei né que de início Pode parecer
confuso mas é basicamente isso aqui na ordenação sempre que você tiver um valor maior do que o outro o que tem um valor maior aparecerá acima então temos o jogador Acima do piso que no caso o piso tá com o nome errado né Sprite 2D Então vamos apenas [Música] renomeável e segundamente porque a gente aperta as teclas não acontece nada e bem isso acontece né porque a gente não programou para que o jogador se movimentasse quando apertasse a tecla e aqui a gente pode resolver o probleminha do jogador estando no canto da tela bem facilmente
Né a gente pode fechar aqui e simplesmente com a ferramenta de mover o jogador selecionado a gente pode trazer o jogador aqui mais ou menos pro meio da tela acho que essa posição aqui já está legal e agora vamos salvar apertando cont control s e clicar no Play da Claquete novamente ah olha só o jogador já aparece aqui porém galera agora temos duas coisinhas para dar uma olhada não será nessa aula porque eu acho que já tá bem longuinha mas ó primeira é que o Nosso jogo tá rodando nessa janelinha Mas se a gente expande
ela Eita aconteceu alguma coisa de estranho aqui que o nosso jogador que estava no meio da tela foi para lá pro canto e o nosso piso não tá aparecendo mais aqui então Olha só que coisa esquisita galera então uma coisa que a gente vai est consertando é fazendo com que o jogo fique do mesmo tamanho né independente do tamanho da tela essa é uma coisa bem importante Então essa é a primeira coisa E a segunda é que até agora nós temos clicado aqui na Claquete para jogar Mas a gente nunca clicou no Play e E
por quê ó porque se a gente clicar aqui no Play que vai acontecer é que a Godô vai pedir pra gente selecionar uma cena para ser a principal Então a gente vai entender o que que é isso e também corrigir o errinho da tela nas próximas aulas então muito obrigado a todos vocês que nos acompanharam até aqui e também muito obrigado a Alice Matoso por apoiar a Nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e Agradeço também se puderem dar uma conferida no nosso curso
onde criamos o nosso primeiro jogo na Godô link como sempre na descrição e no comentário fixado então era isso muito obrigado e até a próxima sejam muito bem-vindos à sexta aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos E hoje estaremos entendendo o que é uma cena principal e também como que podemos selecioná-la pois o que acontece é o seguinte na aula anterior Nós criamos duas cenas aqui no nosso projeto a primeira foi a cena do jogador que é onde a gente tem o jogador configurado né seu carb Sprite e
colisão e a segunda cena foi a cena do jogo em si que seria a nossa fase onde a gente tem o jogador e o piso e beleza a gente tem a nossa fase aqui porém nós temos um probleminha Na hora que queremos jogar já que no caso a gente tem que tá com a cena do jogo aberta e aí clicar aqui no Play da claquete fazendo isso ele abre a cena do jogo E por que que isso é um problema por um motivo muito simples se por exemplo estivermos com a cena do jogador aberta e
clicarmos o play da Claquete o que vai acontecer é que o nosso jogo não vai abrir que vai abrir é a cena do jogador E por que que isso aqui tá acontecendo Galera no caso isso aqui tá acontecendo porque o botão de play da Claquete o que ele faz é que ele roda a cena atual ou seja ele vai rodar a cena que tá aberta Então se o jogador tiver aberto aqui o play da Claquete vai rodar a cena do jogador já se a cena do jogo tiver aberta o play da Claquete vai rodar a
cena do jogo eu sei que pode aparecer meio ass sentido você rodar uma cena específica né como por exemplo só o jogador mas isso aqui é muito útil Quando você quer só testar alguma coisa vamos supor que a gente tivesse a movimentação do jogador programada literalmente bastaria clicar aqui no Play da Claquete e sem ter que iniciar o jogo inteiro a gente já poderia testar sua movimentação aqui o que é muito da hora então é para isso que serve o Play da Claquete para rodar a cena atual Mas beleza como é que a gente faz
para rodar o jogo em si sem ter que est com a cena do jogo aberta Para isso a gente clica aqui no primeiro Play e com isso nosso jogo começará a rodar do início porém fazendo isso podemos ver que a Godô Nos manda uma mensagem marotinha dizendo que não tem nenhuma cena principal definida então nós temos de selecionar uma e o que isso aqui significa significa que no momento o nosso jogo não possui uma cena principal que no caso é a nossa cena inicial Ou seja quando o nosso jogo for aberto fora Da Godô né
como um arquivo mesmo executável que vai acontecer que a Godô não sabe qual cena mostrar Primeiro ela não sabe se é cena do jogo se é cena do jogador ou qual qualquer outra então para isso a gente tem que definir uma cena principal Então bora lá fazer isso a gente clica aqui em select e procura aqui no nosso nas pastas do jogo a cena que queremos abrir primeiro no seu caso no seu jogo você pode ter o menu principal onde o jogador vai poder Escolher entre jogar acessar opções e tals E no caso o menu
principal seria a cena principal mas aqui a gente tá fazendo uma coisinha bem simples só para estudar mesmo então o que a gente vai fazer é selecionar Justamente a cena do jogo que é a que tá aberta aqui né então a gente abre a pasta aqui do jogo e seleciona a cena do jogo e beleza agora o nosso jogo Já possui uma cena principal e se exportáveis da hora ó para demonstrar Melhor vamos abrir a cena do jogador e clicar aqui no Play e fazendo isso não vai abrir a cena do jogador isolado vai abrir
a cena do jogo que coisa da hora então beleza é assim que se configura uma cena principal e agora a gente também já entendeu para que que serve a cena principal então nós estaremos resolvendo esse probleminha na próxima aula mas gostaria de já mostrar agora que ele apareceu na aula passada né que a gente tem o jogo rodando aqui beleza Mas se a gente deixa a janelinha maior hum nosso jogador vai parar para outro lugar o piso para de aparecer e começa essa tela cinza por que que é que isso aqui tá acontecendo Então na
próxima aula vamos corrigir este probleminha aqui então agradeço imensamente a todos vocês que nos acompanharam até este momento e também agradeço aliss Matoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos produzir mais Cursos e tutoriais gratuitos aqui no YouTube e também agradeço se vocês puderem dar uma conferida no nosso curso onde criamos o primeiro naô comoe link na descrição e no comento fixado Muito obrigado e até a próxima aula sejo bem-vindos à stima aula do nos curs comeando naô eu sou Gabri do canal desenvolvendo jogos eje estaremos corrigindo aquele probleminha
clssico que a gente sempre sear quando comea trar emvo jogo e esse probleminha é oan Da tela pois se clicarmos aqui no Play o nosso jogo começará a rodar beleza mas Se tentarmos aumentar o tamanho da tela ai ai ai o jogador Sai do Meio da tela que ele tava aqui vai pro canto o piso para de cobrir toda a área e começa a aparecer uma tela cinza Então vamos entender o que é que tá acontecendo aqui no caso o nosso jogo tá configurado para rodar numa resolução específica e a partir do momento que ele
sai dessa resolução ele continua com essa Resolução parada então tipo a gente tem essa resolução aqui que é próximo de 1280 por 720 já já a gente vê com mais detalhes mas ao deixar em tela cheia ele continua com essa resolução Mas a gente não quer que aconteça isso né senão ele vai sempre ser jogado pro lado o que queremos é que a resolução se estique para ocupar o tanto quanto ela puder ocupar da tela então se a tela estiver pequenininha a gente quer que o jogo continue rodando igual e não que ele Suma e
se aa tiver grandona queremos que Stick até o cantinho Então bora lá resolver isso galera no caso nós resolvemos esse problema vindo aqui em project e depois em project settings aí aqui nessa janela aqui tem um trilhão de informações a gente vem na opção display e depois Window fazendo isso aqui em viewport with E viewport H nós podemos configurar o tamanho da nossa Nosa tela como eu disse a resolução era próxima a 1280 por 720 aqui tá de 1152 por 648 no caso eu quero a resolução 1280 por 720 que é a famosa resolução HD
Então vou colocar aqui 1280 por 720 e beleza fazendo isso a nossa janela já ficará com tamanho melhor mas o problema ainda Continuará então que a gente tem que fazer é vir aqui ó na opção Stretch e em mode a gente muda de disable para Canvas items então a gente simplesmente Coloca essa opha aqui ó Canvas items e pronto o Problema tá resolvido pois agora a gente configurou o modo de esticar da tela para realmente ficar esticado ó se a gente clicar aqui no Play veremos já tá com a janelinha maior né de80 120 E
agora quando a gente expande a janela tarã nosso jogador não é mais jogado pro canto nem nada aparece as Barrinhas pretas porque não tá em completa tela cheia né mas ó agora o piso realmente ocupa toda a área visível E se a gente Diminuir a tela também vai ficar ocupando essa área visível aqui ó ele não vai ficar mais mudando de lugar nem nada do tipo vai tá sempre no centro então show de bola galera é assim que se configura a janela para ela funcionar do jeitinho que tem que funcionar Então agora que já temos
o nosso jogo praticamente 100% pronto pra gente poder entrar na área de programação é justamente isso que estaremos fazendo nas próximas aulas então muito obrigado A todos vocês que assistiram até aqui e também muito obrigado a aliss atoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e também agradeço galera se puderem dar uma conferida no nosso curso onde criamos o primeiro jogo na Godô como sempre link na descrição e no comentário fixado e é isso aí nos vemos num próximo vídeo sejam
muito bem-vindos a oitava Aula do nosso curso começando no Godô eu sou Gabriel do canal desenvolvendo jogos e hoje nós estaremos dando uma rápida conferida no conceito de no pai e nó filho eu sei que eu falei que nessa aula a gente já ia pular pra programação mas eu faço questão de ensinar is isso logo no início porque é uma coisa que muitas vezes quem tá começando acaba se confundindo mas que na verdade é uma coisa bem simples quando a gente para para estudar então vamos colocar a mão Na massa aqui que no caso nós
temos aqui a cena do jogo e a cena do jogador e ambas possuem nossos pais e nossos filhos e o que eu quero dizer com isso é o seguinte aqui na cena do jogador nós temos o nosso jogador completo que é composto de três nós o nó do jogador que é um Character B 2D o nó do Sprite 2D e o nó do collision shape 2D então esses três nós aqui juntos formam o nosso jogador beleza belezinha e aqui o que que é nó pai e nó filho no caso o nó pai É sempre o
nó que está acima dos outros então como Nós criamos o nó do Character B 2D primeiro né antes de todos os outros ele é o nó principal e consequentemente ele é o nó pai da nossa cena inteira então tudo que adicionarmos a cena do jogador será filho do nó do jogador Então temos aqui o nó do jogador como pai e o nó do Sprite 2D e do colision shape 2D são nos filhos Então beleza isso a gente consegue entender né temos o no pai que o principal e o no Filho que vai dentro dele tanto
é que a gente consegue ver aqui a gente consegue até minimizar o jogador E com isso os Sprites e as colisões somem elas continuam existindo mas eu fic ocupando espaço Mas beleza Gabriel entendi o que que é pai e o que que é filho mas para que que isso serve no caso a sua principal função é a organização e com isso eu quero dizer o seguinte se pegarmos aqui o nó do jogador e pegarmos a ferramenta de mover ó a gente pode Trazer o jogador pro lado e para baixo e com isso tanta imagem com
a forma de colisão seguem ele então ó a gente tá movimentando o nó do jogador mas tanto o Sprite como a colisão seguem ele porém Se tentarmos movimentar aqui o nó do Sprite a gente vai conseguir fazer isso mas olha só coisa estranha o Sprite vai tá em um lugar e a forma de colisão vai tá em outra e o pior o nosso Character B 2D vai tá em outra posição então Ó o nó do jogador tá nessa posição aqui ó Setinha vermelha e verde e a mesma posição aqui do nó da colisão mas o
nó do Sprite tá nesse outro lugar então olha a confusão que a gente está fazendo Cada nó fica em um lugar E por que que isso aqui acontece galera isso aqui acontece por uma ordem de hierarquia ou seja sempre que o pai se move os filhos se movem também porém sempre que o filho se move ele tem seu movimento livre mas o pai fica parado O Que significa que sempre que os jogadores se move o Sprite a colisão seguem ele mas se por exemplo movermos aqui a colisão o jogador e o Sprite vão ficar parados
porque nenhum deles é filho da colisão então quando o pai se move todo mundo segue mas quando os filhos se movem ninguém segue eles né apenas o filho em si Então esse aqui o conceito de pai e filho galera o nó principal é sempre o pai e os que estão dentro deles É sempre o filho bem legal bem da hora é uma coisa que de início pode causar uma certa confusão mas conforme a gente vai estudando e praticando Isso aqui vai ficando super natural então vou agora só apertar cont CRL Z várias vezes para retomá-los
lá e beleza pessoal era isso que eu queria explicar Nesta aula aqui então agradeço imensamente a todos vocês que nos acompanharam e também agradeço a Alice Matoso por apoiar Nossa campante financiamento coletivo não apoia-se Permitindo Assim possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e também agradeço se puderem dar uma conferida no nosso curso onde criamos o nosso primeiro jogo na Godô como sempre link na descrição e no comentário fixado e nos vemos no próximo vídeo sejam muito bem-vindos à nona aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo
jogos e hoje estaremos dando os nossos primeiros passos na programação pois nessa aula Estaremos criando o nosso primeiro script entendendo o que que ele é e também programando a nossa primeira linha de código para que umas aulas mais para frente comecemos a programar o nosso querido jogador que no caso Nós faremos com que ele se movimente para cima para baixo e para a esquerda e direita vai ficar bem legal então bora lá a primeira coisa que temos de fazer para criar uma programação em si é criar um script E no caso se você nunca tiver
Programado antes e estiver se perguntando o que cargas Daga é um script vou explicar para você um script nada mais é que um arquivo de texto que contém instruções para o computador Ou seja é como se fosse um bloco de notas que você anota receita de um bolo Então nesse bloco de notas você escreve colocar ovos mexer com leite adicionar fermento colocar farinha e t tá então do mesmo jeito que na vida real você tem um bloquinho de texto Onde você coloca as Instruções do bolo no mundo dos computadores você também tem o arquivo de
texto só a invés de você colocar instrução para um bolo você coloca instrução de por exemplo fazer com que o jogador então script é justamente isso um arquivo de texto onde você diz o que o computador deve fazer então beleza agora que já entendemos o que que é o script vamos criá-lo no caso para criar um script aqui na Godô a primeira coisa que temos de fazer é criar uma nova cena No caso a gente poderia est fazendo isso na cena do jogador ou na cena do jogo mas eu quero que esse script aqui seja
apenas um script de teste só pra gente estudar e testar algumas coisas então Acho interessante fazer isso à parte por isso criaremos uma nova cena e o seu nó será um nó padrão porque a gente não vai estar fazendo nada extraordinário aqui então vamos pegar aqui um nó 2D em seu nome podemos colocar estudo então a gente cria esse nó e Também já podemos salvar a cena apertando control s e aqui como sempre vamos criar uma nova pastinha para a nossa cena então acessarem a pasta ces e criaremos uma nova pasta chamada estudo e dentro
dela a gente salva a cena Beleza agora que a gente tem a cena criada Vamos criar o nosso script então aqui na aba Cine com o nosso nó selecionado clicarem no símbolo do pergaminho vocês estão vendo que tem uma folha aqui com Símbolo de mais então é aqui que a gente clica para adicionar o novo script então clicando aqui a godou abrirá essa nova janelinha onde tem muitas opções aqui que de início Pode parecer meio confuso Então vamos no passo a passo aqui ó a primeira opção a gente escolhe qual linguagem que estaremos programando o
nosso script no meu caso só tem a linguagem GD script que é a linguagem padrão da Godô Mas se você tiver baixado uma outra versão da Godô lá no início do Curso você pode ter baixar uma versão que você consegue programar em C Sharp se quiser programar em C Sharp tudo bem mas aqui neste curso nós estaremos programando em GD script que é a linguagem padrão da Godô então a gente deixa em GD script mesmo aqui em inherits a gente deixa do jeito que tá eu já já explico o que que é isso mas deixa
com node 2D e no late nós podemos escolher dois tipos o default e o empty no caso se a gente escolheu o o template Empty a godu criará um script completamente vazio já se a gente deixar aqui em default ela criará um script com algumas coisinhas já próprias da Godô Então a gente vai estar deixando o template default porque eu quero explicar que coisinhas são essas e como que elas funcionam então a gente deixa do jeito que tá e deixa para ele salvar né na pasta da nossa cena que já tá tudo configurado então a
gente deixa a janelinha do jeito que veio e clica em Create e fazendo isso a Godô começará a criar o nosso script e num piscar de olhos o script está criado e aqui olha só que coisa legal galera ah como eu disse no início do curso na Godô Nós criamos os nossos jogos e também programamos eles Ou seja a gente clica na aba 2D para voltar né paraa criação do jogo e clica na script para voltar a sua programação é tudo feito no mesmo programa isso é muito legal então beleza criamos o nosso Script aqui
mas meu Deus do céu o que é que está acontecendo aqui tem um trilhão de coisas aparecendo E no caso tudo isso aqui tá aparecendo porque a gente escolheu o template default ou seja ele criou tudo isso aqui que já vem por padrão Mas vamos explicar no passo a passo aqui linha por linha desse jeito a gente entende tudo e não ficar confuso no caso a lógica seria começar explicando por esta primeira linha mas eu estarei deixando isso aqui pro final Galera pra gente se concentrar no que é realmente importante no momento e aí depois
a gente foca aqui Então vamos conferir primeiramente a linha quatro que aqui como podemos ver temos um hashtag né um jogo da velha seguido de um texto e O interessante é que a gente encontra esse has T na quarta linha na sexta e também na nona Então o que é que isso aqui significa no caso na linguagem GD script sempre que a gente coloca um jogo da velha na frente de uma linha Estamos dizendo para o computador que essa linha é um comentário e o que que é um comentário um comentário é literalmente isso um
comentário ou seja um comentário é um pedaço de texto que a gente pode colocar o nosso código que nos permite te explicar o que determinada coisa faz então vamos supor que você ten um script gigantesco que faz 1 milhão de coisas e no momento você sabe Para que que serve cada parte do seu código mas vamos supor que você Deixe o código parado lá por um mês e só volta depois que esse um mês terminar o risco de você não se lembrar do que que o seu código faz é muito grande e é por isso
que existem os comentários porque desse jeito você consegue criar né um pedacinho de texto que seria uma anotação dizendo ah essa parte do código faz determinada coisa essa parte do código faz outra e essa parte do código faz outra então comentários são muito úteis quando queremos fazer uma anotação Do código e no caso a gente precisa colocar o hashtag na frente porque se a gente simplesmente começar a digitar as palavras né como por exemplo esse código faz o personagem andar se a gente simplesmente começar a digitar as palavras assim o programa Vai deixar a linha
vermelha dizendo que tá errada e por quê Porque tudo que a gente digita no Script o computador tenta interpretar como comando E no caso essas palavras aqui não são comando elas T Sentido para nós humanos mas pro computador isso aqui não faz sentido então para evitar que o computador interprete isso como um comando a gente coloca um jogo da velha na frente e fazendo isso o erro da linha some Olha só que coisa da hora então temos aqui explicado os comentários aqui olha o primeiro comentário ele faz referência a essa linha aqui do r o
segundo a linha do p e o terceiro é linha do process então para entender melhor vamos Conferir todas essas três linhas aqui na quinta linha nós temos escrito funk underline Ready abre e fecha parênteses e dois pontos então o que que isso aqui significa meu Deus vamos aqui palavra por palavra para entender melhor no caso a primeira palavra é a funk que é uma abreviação de function que traduzindo significa função então o que que seria uma função na programação uma função é um pedaço de código que podemos chamar em um Instante e o que isso
aqui significa é o seguinte vamos supor que a gente está programando aqui o nosso jogo aí a gente cria as linhas para o jogador se movimentar aí após fazer isso a gente cria mais algumas linhas para o jogador coletar a moeda e por fim cria mais algumas linhas para o jogador levaro e também mais algumas linhas para o jogador atacar no caso é assim que a gente programa né a gente vai criando cada pedaço de código pra função que a Gente quer especificamente porém como podemos ver nós temos muitas linhas de código aqui e completamente
desorganizadas né a gente tem né O que faz jogador andar o que faz ele coletar moeda o que faz ele atacar levar dano e tals só que isso aqui fica bem confuso deixa o código Bem feinho Então o que a programação nos permite fazer é criar Essas funções porque elas nos permitem organizar o nosso código então por Exemplo a gente pode ter uma função para movimentar o jogador E aí depois a gente pode ter uma outra função para coletar moeda aí depois a gente pode ter uma outra função para levar dano e por aí vai
e desse jeito ao invés de deixar o nosso código uma bagunça com um trilhão de linhas que a gente não sabe o que cada uma faz a gente cria Essas funções e aí sempre que a gente quiser movimentar o jogador a gente chama essa função ou sempre que quiser coletar a Moeda a gente chama essa função quando quiser levar dano chama essa função e por aí vai Desta forma a gente garante que as coisas só aconteçam quando elas de fato T de acontecer então é isso que é uma função é um pedaço de código que
a gente roda em determinado momento Então beleza entendemos o que Minor função mas o que que significa toda essa linha aqui no caso a palavrinha funk como vimos serve para criar uma função e depois a gente coloca o seu nome no caso a Godo Já cria por padrão duas funções que é a process e a Ready aqui a função Ready ela roda quando o nosso nó né o nosso objeto entre em cena Ou seja no instante que o nosso jogo iniciou e o nosso script começou a rodar a god vai falar pá rodei Ela vai
rodar dar a função Ready pois ela roda justamente quando o jogo inicia então o jogo iniciou Ela vai rodar o seu código e depois não vai fazer mais nada literalmente a função Ready roda apenas uma única vez em Compensação a função process roda o tempo inteiro ou seja se você tiver um jogo rodando por exemplo a 60 FPS que é 60 Quad por segundo essa função process rodará 60 vezes por segundo já se o seu jogo estiver rodando a 1000 frames por segundo essa função estará rodando 1000 vezes por segundo eu sei que pode parecer
uma coisa meio doida né algo rodando 60 vezes por segundo Mas é uma coisa completamente normal no mundo da programação isso acontece literalmente o Tempo inteiro Você tá assistindo esse vídeo no YouTube e ele tá rodando provavelmente a 60 Quad por segundo Então tem um computador processando essas informações o tempo inteiro então a função Ready roda apenas uma única vez que é quando o no inicia e a função process roda o tempo inteiro então é importante aprender a diferenciar as duas galera Porque dependendo do que você quer fazer você programa em um lugar ou em
outro então a gente coloca Funk o nome da função aí a gente abre e fecha parênteses e depois coloca dois pontinhos e é Depois desses dois pontos que a gente monta o corpo da função que no caso o corpo da função são as instruções dela né que são os comandos que Damos Para ele e aqui como nós não digitamos nenhum comando ainda nessas funções a Godô já coloca palavrinha P pois a palavrinha P traduzindo seria um passe é tipo ah Oi pode ir embora porque se a gente deixa sem Nenhuma palavrinha aqui a Godô reclama
né porque ó a gente criou a função Ready aqui só que antes de poder criar a próxima né que é a process a Godô tá falando Pera aí tá faltando alguma coisa antes porque sempre que a gente cria uma função ela precisa Obrigatoriamente ter um corpo porém enquanto a gente não programa esse corpo a gente pode colocar a palavrinha pés que fazendo isso a vai falar Ah beleza a função existe mas não faz nada show de bola tanto é que a Gente tem a palavrinha pass aqui na Ready e na process e aqui rapidamente falando
ainda do corpo da função podemos ver que o comando né não fica colado na lateral do script ou seja ele não fica assim isso aqui acontece galera porque na linguagem GD script a gente usa todos os comandos com uma coisa chamada indentação e a indentação é justamente isso é separar o código por um determinado espaço no caso esse espaço não é uma quantidade de Espaços que a gente vai apertando no teclado não a gente vem na frente da palavrinha e aperta a tecla Tab no teclado e fazendo isso o nosso código já fica indentado Então
sempre que você tiver uma função ou algo do tipo o corpo dela sempre vai ficar um passinho pro lado é desse jeito que a gente programa em GD script e também em Python porque essa linguagem é muito parecida com python Então sempre que for digitar o novo Comando né num função aperta Tab para ele ficar aqui do ladinho Então beleza entendemos O que é uma função e também a palavrinha P porém como podemos ver aqui dentro dos parênteses de process nós temos uma palavrinha chamada Delta palavrinha essa que não temos aqui nos parênteses de Ready
e o que que isso aqui significa no caso sempre que colocamos algo dentro dos parênteses de uma função nós chamamos isso de parâmetro E no caso um parâmetro é um Valor que se pode passar de uma função para outra e essa é uma coisa que pode parecer meio estranha quando a gente tá conferindo funções a primeira vez mas quando nós criarmos as nossas próprias funções isso vai ficar mais claro a coisa importante realmente de entender agora é que a palavrinha Delta nos permite fazer com que o nosso personagem por exemplo se movente sempre na mesma
velocidade em todos os computadores pois o delta num computador É o tempo que ele gasta indo de um frame para o outro como eu disse né o jogo pode rodar a 60 frames por segundo mas às vezes um frame vai durar mais do que o anterior ou menos Então para que o jogo não fique completamente desbalanceado né Uma hora rodando num velocidade outra hora rodando na outra a gente utiliza essa palavrinha Delta aqui pois com ela a gente consegue efetuar um cálculo né De quanto tempo se passou entre o último frame quanto tempo se Passou
entre o próximo eu sei que is é uma coisa pode parecer super complicada Mas pode ficar tranquilo porque o delta faz tudo sozinho literalmente essa palavrinha Delta aqui em process já faz todo esse cálculo automaticamente pra gente o que é uma maravilha uma mão na roda e no caso já vem aqui dentro dos parênteses né para que possamos utilizar o seu valor então beleza entendemos para que servem as nossas funções e a gente também pode entender isso só pelos Comentários né Ó aqui tá dizendo que é chamado quando o nó entra na cena pela primeira
vez aqui o p está dizendo para substituir com o corpo da função Então quando for programar a função remove essa linha e aqui tá dizendo que a função process é chamada a todos os frames com a palavrinha Delta sendo tempo passado desde o último frame é basicamente o que a gente explicou agora mas eu acho que realmente explicando falando fica mais claro do que que Apenas lendo aqui e beleza galera agora que já entendemos a teoria vamos de fato colocar a mão na massa e digitar a nossa primeira linha de código no caso estaremos fazendo
com que a Godô Escreva na tela olá mundo mas a gente não vai est fazendo isso na tela do jogo em si a gente vai est fazendo isso aqui embaixo Ó você se lembro que aqui tem a aba output Então a gente vai fazer com que apareça escrito Ola Mundo aqui embaixo e para fazermos isso a gente pode vir na Função Ready que é chamada quando nó entre cena ou seja uma vez que ele for chamado vai escrever o lundo e depois não vai fazer mais nada e agora como estaremos criando o corpo da função
vamos tirar a palavrinha p e para escrever algo na aba output A gente utiliza o comando print abre e fecha parênteses e dentro deles a gente abre e fecha aspas duplas e escreve olá mundo e pronto isso é tudo temos de fazer acabamos de criar o nosso primeiro Programa que escreve olá mundo na tela Meus parabéns mas não basta apenas ficar na teoria a gente tem que ver se tá funcionando então a gente salva scri apertando cont control s e clica aqui no Play da Claquete não clica no play principal porque o nosso script estudo
não tá na cena do jogo né então não tem como ele rodar no caso nosso script só tá na cena do estudo então a gente clica aqui no Play da Claquete para rodar essa cena específico e a gente já pode até Fechar o jogo Porque Já rolou olha só aqui embaixo na about que da hora aparece inscrito olá mundo criamos o nosso primeiro programa Ah que massa então só escreveu mundo uma única vez porque a função Ready faz justamente isso né ela executa uma vez e depois para Então vamos agora escrever algo na função process
para entender né o lance dela ser chamado o tempo inteiro então a gente Remove a palavrinha p e também digita print abre e fecha parênteses e Entre aspas duplas porque isso aqui é uma string entenderemos melhor na aula de variáveis mas a gente abre e fecha asas duplas aqui a gente digita Oi sou eu de novo Vamos colocar um pontinho de exclamação aqui para não reclamar então Oi sou eu de novo a gente colocou essa frase aqui porque esse aqui será chamado o tempo inteiro Então vai ser sou eu de novo sou eu de novo
S de novo sou eu de novo então vamos salvar apertando o cont Control s e clicar aqui no Play da Claquete e agora olha só aqui embaixo a a gente pode ver que tem diversos o sou eu de novo aparecendo tanto é que se fecharmos o jogo veremos que temos 472 mensagens a gente pode até subir a Barrinha ó a gente tem uma olá mundo que tá na função Ready e 471 Oi sou eu de novo ou seja a nossa função process aqui rodou 472 vezes o que é muito da hora então É Isso aí
galera criamos o nosso primeiro programa que escreve Ola Mundo E também o nosso segundo né que escreve olá mundo e Oi sou eu de novo espero que vocês fiquem muito felizes com isso galera porque eu tô demais esses primeiros passos eu adoro e para qualquer linguagem de programação que vocês forem estudar Vocês estarão criando um programa que se escreve a lamond isso é em JD script é em Python é em csharp Java JavaScript PHP qualquer linguagem Que vocês pegarem Vocês estarão criando um programa muito parecido com esse aqui Então beleza esta foi a aula galera
criamos o nosso primeiro script entendemos o que ele é e como que podemos programar nele e agora na próxima aula estaremos dando uma conferida nas famosas variáveis pois esse programa embora ele seja muito legal ele é um pouquinho limitado né pois ele só faz o que a gente escreve aqui não tem como armazenar informação Nem modificar então estaremos resolvendo esse probleminha com as variáveis então muito obrigado a todos vocês que acompanharam a aula até aqui e também muito obrigado a aliss Matoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo assim que possamos
produzir mais cursos e tutoriais gratuitos aqui no YouTube e lembrando que nós temos um curso onde criamos nosso primeiro jogo da Godô do início até o fim na hora de exportar Como sempre o link está aí na descrição e no comentário fixado então muito obrigado e até a próxima sejam muito bem-vindos à 10ma aula do nosso curso Começando na gou eu sou Gabri do canal desenvolvendo jogos e hoje estaremos dando mais uns passinhos na nossa jornada de programação entendendo o que são e como que podemos utilizar as famosas variáveis Então bora lá como vocês se
lembram na aula passada Nós criamos o nosso primeiro script e Digitamos suas primeiras linhas de código O que foi muito da hora porém galera por mais legal que tenha sido a gente não chega muito longe na programação apenas com os comandos básicos né a gente precisa entender o que são as variáveis pois elas nos permitem ir muito além criando jogos cada vez mais complexos e mais incríveis Então bora dar um polinho aqui nos slides para entender melhor como é que elas funcionam pois Como podemos ver uma Variável nos permite armazenar um valor na memória do
computador ou seja sempre que você tiver um valor que você não queira que se perca Ou seja que você queira usar mais tarde você pode utilizar uma variável para guardá-lo e temos aqui como exemplo o valor da vida do Inimigo o nome de quem tá jogando ou a quantidade de moedas que o jogador coletou ficar de olho nesses valores é muito importante pois imagina se eles fossem resetados o tempo inteiro imagina Se o jogador batesse no inimigo E aí o inimigo perdesse 10 de vida mas instantaneamente ele voltasse a ficar com 100 de vida isso
não ia ser muito legal então é para isso que a gente armazena esses valores nas variáveis e no caso galera como existem diversos tipos de valores que podemos guardar numa variável também existem diversos tipos de variáveis e no caso existem literalmente dezenas centenas de tipos e isso vai variar do programa que você tá Utilizando da linguagem mas nessa aula nós estaremos focando nos quatro principais que você vai encontrar em praticamente toda a santa linguagem e vai usar bastante na Godô então aqui no próximo slide podemos ver os dois primeiros que no caso é o tipo
int e o tipo float Como podemos ver o tipo int nos permite armazenar um número inteiro ou seja sempre que você quiser armazenar um número inteiro você utiliza uma variável tipo int para isso pois int é Uma abreviação de integer que seria inteiro né E no caso você pode armazenar os números 1 7 - 2 não importa se é positivo ou negativo com tanto que ele seja inteiro Pode guardar e um bom caso né para se utilizar uma variável do tipo int seria por exemplo guardando a quantidade de moedas que o jogador coletou pois ele
não coleta uma moeda e meia ou 2.3 né ou ele coleta uma ou duas então você armazeno essa quantidade numa variável do tipo inteira porém vamos Supor que você quer armazenar a velocidade de um carro o carro pode est andando a 70 km certinho mas ele também pode estar andando a 70.3 E no caso você não consegue armazenar esse valor numa variável do tipo inteira Então você utiliza o tipo float que Como podemos ver nos permite armazenar um número com casas decimais ou seja um número quebrado então a gente pode armazenar 5.6 Men 2.7 pode
ser positivo e negativo ou até mesmo 18.0 no Caso 18 é um número inteiro mas se a gente coloca o ponto zero ele vira um número com casa decimal e a gente também pode armazenar em variáveis do tipo float Então sempre que quiser guardar algum número veja se ele é quebrado ou não E aí você utiliza o float ou int v o que se encaixa melhor no seu caso então esses são os dois primeiros tipos e os dois últimos aqui no próximo slide são o tipo string e o tipo bu e aqui como podemos ver
o tipo string nos permite Armazenar uma sequência de caracteres ou seja sempre que você quiser guardar o nome do jogador ou se tiver programando por exemplo Facebook e você quiser guardar o login da pessoa né o e-mail e a senha você vai guardar isso numa string pois armazena uma sequência de caracteres e temos aqui como exemplo olá mundo Gabriel e 123 Como podemos ver 123 é o número e você pode est se perguntando mas espera aí isso não devia ser uma variável do Tipo inteira Sim deveria mas como podemos ver o 123 está entre aspas
duplas e tudo que a gente coloca dentro da programação dentro de aspas duplas se torna uma sequência de caracteres ou seja o número 123 sem as aspas é o número 123 mas dentro das aspas se torna a palavra 123 se que é uma coisa meio doida mas basicamente sempre que algo está dentro de aspas duplas esse algo vira uma palavra ou uma frase e vocês podem ver Né que essas aspas duplas foi que a gente colocou na aula passada né quando a gente escreveu Ola Mundo e Oi sou eu de novo porque sem aspas duplas
não tem como escrever no código então este é o tipo string muito bom para guardar nomes e temos por último o tipo Bull que é abreviação de boolean que nos permite armazenar o valor de verdadeiro ou falso e a gente faz isso utilizando as palavrinhas true para verdadeiro e false para falso e por que cargas d'água Eu ia querer armazenar o valor de verdadeiro ou falso você pode estar se perguntando e a resposta é muito simples vamos supor que você tá fazendo um jogo de plataforma como jogos do Mario e no caso você configura para
que o jogador pule quando apertar a barra de espaço Então sempre que o jogador apertar a barra de espaço Mario vai pular beleza Porém isso vai acontecer literalmente sempre que ele apertar a barra de espaço ou seja se o jogador tiver no a e Apertar a barra de espaço ele vai pular só que isso não é exatamente o que queremos né A gente só quer que ele pule se ele tiver encostando no chão e você pode fazer essa verificação né se ele tiver encostando no chão ou não através de uma variável do tipo bu né
verificando seu valor é verdadeiro ou falso é uma coisa que est falando Pode parecer meio esquisita mas quando você começa a programar você você vê que essas variáveis são muito úteis Então Beleza galera agora que já conferimos os seus quatro principais tipos está na hora de aprendermos como que podemos utilizá-las já que a gente viu as variáveis mas não viu como é que a gente escreve elas Então no próximo slide veremos que na linguagem GD script que é a linguagem que estamos programando Existem duas maneiras de se declarar uma variável ou seja duas maneiras de
criar uma nova variável a primeira delas é deixando que o Programa identifique o seu tipo e a segunda é especificando o seu tipo Ou seja você pode dizer para Godô especificamente que é uma variável de tipo inteira ou simplesmente colocar o seu valor e deixar que a Godô Identifique e Aqui nós temos dois exemplos né O primeiro exemplo é deixando que o programa identifique então a gente digita var que é uma abreviação de variável aí coloca o nome da variável que no caso é moedas Coletadas e um símbolo de igual pro seu valor no caso
a gente coloca o valor de três né como se o jogador tivesse coletado três moedas e aí a Godô vai ver o valor identificar que o três é um número inteiro Então vai falar Opa essa variável Aqui é do número inteiro show de bola Porém você também pode criar uma variável especificando o seu tipo então aqui a gente tem a mesma variável de antes né a palavrinha var e o nome moedas coletadas Porém antes de colocarmos o seu valor a gente coloca dois pontinhos e o seu tipo então a gente coloca dois pontos e inch
E aí sim coloca o símbolo de igual e o seu valor e no caso Por que que existem esses dois modos né Por que que eu vou especificar um tipo se aodo pode identificar automaticamente por um motivo muito simples existe esses dois modos porque a linguagem GD script é uma linguagem dinâmica Ou seja é um pouco mais inteligente né e consegue Identificar automaticamente Qual que é o tipo mas você vai sempre querer especificar o tipo porque isso ajuda a evitar muitos erros tipo muitos erros mesmo porque às vezes você pode ter duas variáveis com nomes
muito parecidos mas que tem valores diferentes Então vamos supor que você ten uma variável quero tipo inteira e outra variável qu era o tipo string né uma sequência de caracteres Aí você coloca lá que primeiramente ela tem o valor de de três Mas depois você coloca que ela tem o valor de Gabriel Isso não faria sentido nenhum e no caso se você não específic o tipo o programa pode falar Ah beleza is aqui era uma variável de número mas agora se tornou uma variável de letras beleza tudo bem mas isso pode dar um erro gigantesco
mais para frente quando você tentar realizar algum cálculo ou coisa do tipo porém se a sua variável tivesse especificada como do tipo inteira você nunca em hipótese alguma Conseguiria colocar o nome Gabriel como seu valor você até poderia tentar mas o programa daria um erro dizendo que aquele tipo não é o tipo da variável Então sempre que for criar uma variável Especifique o seu tipo isso é muito importante então beleza aprendemos o que são variáveis e como podemos utilizá-las mas ficar apenas o fala fala não ajuda ninguém a aprender Então vamos colocar a mão na
massa aqui e de fato criar as nossas próprias variáveis então voltando Aqui para o código podemos remover os comandos da aula passada né pois não estaremos utilizando mais eles e no caso como vai ficar tudo vazio precisamos colocar a palavrinha pass que desse jeito a gente garante que o programa não vai dar erro né então a gente coloca o pass no process e também no Ready Então beleza temos nosso script de volta ao estado normal então agora a gente pode até deletar esses comentários né já que nós estaremos mais precisando deles Então para criar a
nossa primeira variável a gente vem acima da função Ready tem ser acima dela e abaixo da linha do extend e aqui a gente digita var para dizer que é uma variável no seu nome a gente coloca idade já que aqui a gente vai est armazenando a idade do usuário por exemplo e para especificar o seu tipo a gente coloca dois pontos e o tipo int para guardar um número inteiro e aqui como valor a gente coloca o símbolo De igual e o número 20 então show de bola temos uma variável chamada idade que é do
tipo int tem o valor 20 isso aqui é muito legal galera pelo seguinte motivo ó vamos vir aqui na função Ready e escrever né na tela o valor dessa variável então a gente digita print abre pares e aqui a gente coloca o nome da variável que é idade show de bola agora a gente salva apertando contol s e clica aqui no Play da Claquete a gente clicou e já pode fechar o jogo porque aqui Nap veremos valor 20 Ah que da hora e se você tiv perguntando por que apareceu 20 e não a palavra idade
é por um motivo muito simples coloca apenas a palavra O computador entende que isso aqui é uma referência variável idade então a invés Dee digitar o nome da variável ele digita o seu valor porém se idade tivesse entre aspas duplas isso aqui teria virado uma string E com isso agodô de fato vamos reiniciar o jogo teria Escrito aqui ridat então que eu falei sempre que alguma coisa tá entre aspas duplas viram uma string né mas aqui a gente só quer o valor então digita 20 ao invés da palavra idade e por que que a variável
é bem útil vamos supor que a gente tivesse mais um comando né desse aqui então a gente coloca print e novamente idade aí aqui a gente roda o jogo e já fecha aqui a gente vai ver que apareceu 20 e 20 ou seja ele escreveu a idade duas vezes e no caso ele só Escreveu a idade duas vezes porque tá aqui na variável vamos supor que eu quisesse mudar a idade por exemplo para 30 aí para escrever 30 duas vezes se eu não tivesse utilizando variáveis eu teria que escrever 30 aqui e 30 aqui e
aí se eu tivesse que mudar por exemplo para 60 eu teria que mudar 60 aqui e 60 aqui isso para duas linhas né Nós poderíamos ter dezenas centenas de linhas Então imagina tem que ficar alterando linha por linha ser um Pesadelo então é por isso que a gente utiliza as variáveis né Desse jeito a gente modifica o valor apenas uma única vez Então vamos trazer o idade aqui novamente ficou bem da hora e agora que criamos a Mar do tipo int vamos criar uma variável do tipo float então a gente vem na linha de baixo
se quiser pode ser exatamente na linha de baixo aqui mas eu vou pular uma só para ficar mais fácil de ler e vou digitar var e Aqui velocidade underline do underline carro a a gente coloca dois pontos especifica o seu tipo que no caso é float e o seu valor é de 75.3 Então temos Nossa variável de velocidade do carro e aqui vale dar uma ressaltada né nesse detalhe que a gente separou as palavras com underlines pois aqui em GD script não é uma regra obrigatória né mas sempre que você for Separar uma palavra você
pode separar Com underline Como eu disse funciona sem isso né mas isso aqui é uma regrinha da Godô que ajuda a deixar tudo bem organizado no caso se você não quiser usar underline você pode utilizar por exemplo uma letra maiúscula né só que é muito comum em outras linguagens como C Sharp Ó você consegue identificar direitinho que tem três palavras aqui né velocidade do carro mas script a gente separa tudo por underline mesmo então temos aqui a Variável do tipo float E com isso podemos colocar números com casas decimais Então vamos escrever isso na tela
vamos vir aqui e colocar print e o nome da variável velocidade do carro show de bola salve script apertando cont s e clica no play da Claquete com isso nosso jogo vai começar a rodar agora a gente sai e Ah olha só que coisa da hora temos aqui o número 20 e também o número 75 pon3 ou seja Estamos fazendo certinho agora vamos criar a nossa terceira Variável que será do tipo string então a gente pula mais uma linha e digita var e seu nome a gente coloca nome underline do underline jogador dois pontos para
dizer o seu tipo e coloca string que no caso aqui string é com S maiúsculo né O resto é tudo com letra minúscula e aqui como valor a gente coloca o nome por exemplo Gabriel mas como é uma string precisa estar entre aspas duplas show de bola agora vamos escrever esse Nome também a gente coloca aqui na função Ready print e o nome da variável nome do jogador vamos clicar aqui no Play da claquette e olha só que da hora fechando o jogo a gente V escrito Gabriel aqui que é exatamente o que queríamos galera
Então tá funcionando certinho também por fim viremos aqui abaixo e criaremos mais uma variável então var dessa vez colocaremos o nome de está no chão para verificar se o Jogador tá no chão ou não dois pontinhos e o tipo bu que é b ool l e como valor a gente pode colar colocar true para verdadeiro ou false para falso Então vamos ver como é que funciona ó vamos aqui na função Ready utilizar novamente o comando print que você vai usar muito quando estiver aprendendo a programar e pedir para imprimir o valor da variável está no
chão no caso ela tem o valor de falso no momento então aqui aparecerá escrito False olha só que da hora mas se dermos o valor de True aparecerá escrito não mais false mas sim true Então esse aqui é o tipo bo galera verdadeiro ou falso Então essa aqui foi a aula galera de variáveis eu acho que ela ficou bem longuinha mas tá um ótimo recurso aí para sempre que você precisar dar uma relembrada Então essas são os quatro principais tipos de variáveis Existem muitos outros tipos que nós estaremos conferindo em breve Quando estivermos programando a
movimentação do jogador mas por enquanto saber esses quatro aqui já é um grande passo e eu recomendo que vocês treinem aí criem os seus programas né E aí vão digitando olá mundo ou escrevendo o valor das variáveis que é uma coisa bem legal de se fazer e que ajuda bastante a aprender então agradeço imensamente a todos vocês que assistiram a aula até aqui e também agradeço Alice Matoso por apoiar a nossa campanha de financiamento Coletivo na apoia-se permitindo assim que possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e lembrando que nós temos um
curso onde desenvolvemos o primeiro jogo na agodô do início ao fim desde baixando o programa até exportando ele no arquivo final como sempre link na descrição e no comentário fixado então era isso e nos vemos na próxima aula onde iremos aprender o que são as famosas condições ifs opa opa opa galera aqui vai um aviso Rapidão que além dos cursos gratuitos que temos aqui no nosso canal YouTube também temos alguns cursos pagos publicados na udem e nesses cursos Nós aprendemos diversas coisas novas por exemplo neste primeiro curso Nós aprendemos a criar um jogo 2D de
iniciante que é muito bom para quem tá dando seus primeiros passos na Unity e também te ajuda a entender bastante como ela funciona no segundo curso Nós aprendemos a criar um jogo Top Down Shooter 2D e nesse jogo nós temos diversos zumbis que ficam espanando infinitamente e a gente tem que lutar contra eles já no terceiro curso Nós aprendemos a criar um jogo FPS retrô e com isso Nós criamos um jogo estilo Doom wolfen Style e outros jogos FPS da época e lembrando que estes cursos são super acessíveis galera Se tiver interesse tem link aí
na descrição e no comentário fixado então Agradeço a todos vocês e nos vemos no próximo vídeo Fui sejam muito bem-vindos à 11ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje estaremos dando uma conferida nas famosas condições if e também nas suas condições irmãs que são as condições ELS e elif e eu sei que só falando esse monte de nome Pode parecer um pouco confuso Então já vamos colocar a mão na massa aqui entender direitinho o que que é tudo isso e como vocês se lembram na aula anterior
Nós demos uma conferida Nas variáveis que nós vimos que servem para armazenar valores na memória do computador valores esses que podemos utilizar mais tarde o que foi bem legal mas no caso Como já vimos tudo isso podemos deletar este código para focar na aula de hoje então a gente vai deixar o código do jeitinho que ele vem quando a gente cria script Então beleza agora que já temos o script resetado vamos entender o que é uma condição if e para fazer isso vamos dar uma puladinha para Os slides e aqui como podemos ver uma condição
if nos permite verificar se algo aconteceu e se esse algo aconteceu rodar uma parte específica do có código ou seja galera ao invés de termos uma parte do nosso código que roda sem mais nem menos ou seja simplesmente roda a gente pode ter uma parte que é condicional ou seja ela só rodará em um momento específico se alguma condição estiver correta e para entender melhor isso temos um exemplo aqui embaixo onde Temos uma variável chamada dinheiro na conta ou seja nessa variável tem o dinheiro que o usuário possui E no momento ele possui R 1.600
né Então essa variável tem o valor de R 16.600 e logo em seguida nós temos uma condição if onde nós verificamos se a variável dinheiro na conta se o seu valor é maior do que 15.00 E no caso se for maior do que 15.00 a Godô escreve na tela que a pessoa pode comprar um celular muito bom Ou seja se a pessoa tiver mais de r$ 500 significa que o celular que ela pode comprar é top e no caso como a pessoa tem 1.600 ou seja tem mais do que 15.00 essa condição if rodaria Então
bora voltar aqui para o Godô e de fato escrever essa condição para entender direitinho então viremos aqui acima da função Ready e criaremos uma nova variável chamada dinheiro na conta Ela será do tipo int E terá o valor de 1600 como vimos o slide agora para criar a Nossa condição faremos isso dentro da função Ready que roda quando o nosso jogo inicia e aqui para criar condição if a gente digita if que significa c em inglês ou seja se tal coisa acontecer então a gente digita if e depois a condição que no caso é a
variável dinheiro na conta símbolo de maior q que é o vezinho com a boca pra esquerda e o número 1500 e por fim a gente coloca dois pontos e vem pra linha de baixo Então o Que a gente tá fazendo nessa linha aqui é verificando se a variável dinheiro na conta tem o valor maior do que 1500 Se tiver vai rodar o código que estiver aqui dentro né Depois dos dois pontinhos que lembrando como conferimos umas aulas atrás a linguagem GD script é uma linguagem de indentação ou seja o corpo da condução if tem de
estar um Tab adentro então o código não pode estar aqui ele tem de estar aqui então aqui o que queremos fazer é simplesmente Utilizar o comandinho print e escrever entre aspas duplas pode comprar um celular muito bom então se a pessoa tiver mais do que r$ 500 o celular que ela poderá comprar será bem top e agora para testar o nosso sisteminha vamos salvar o script apertando control s e clicar aqui no Play da Claquete Lembrando que como esse script não tá na cena do nosso jogo a gente precisa clicar no Play da Claquete então
a gente clica aqui e como tudo isso acontece Quando o jogo inicia já na função Ready a gente já pode fechar e aqui veremos na about olha só que maneiro pode comprar o seu muito bom então a nossa condução if tá funcionando certinho porque nós configuramos que ela só poderia rodar se o valor da variável fosse maior que 1500 por isso que ela rodou e agora para testar né oo a gente pode colocar que ao invés de600 a pessoa tem00 então Com00 é menor do que 15 Teoricamente essa condição não rodará Então vamos salvar o
script apertando control s e rodar novamente aqui no Play da Claquete vamos fechar o joguinho e olha só que da hora não apareceu nada na aba output ou seja tá funcionando tudo certinho porque só era para aparecer se o dinheiro fosse maior do que 1600 tanto é que já vamos voltar aqui né para 1600 para fazer mais alguns testes que aqui galera nós temos a condução if que Funciona numa boa por não tem como a gente verificar se a pessoa tem menos do que r00 né porque tipo isso aqui roda se tiver mais do que
1500 Mas se tiver menos a Godo não sabe o que fazer ela simplesmente não faz nada então para resolver esse probleminha nós podemos pular aqui novamente para os slides e conhecer as condições elif que aqui como podemos ver a condição elif é semelhante à condição if ou seja Ela nos permite verificar se Algo aconteceu porém muito importante perceber isso a condição elif só roda se a condição anterior não acontecer ou seja por mais que a condição el lif seja verdadeira ela só rodará se a if for falsa então se a pessoa não tiver mais do
que 1500 aí O código vai ler as linhas de baixo e vai verificar a condição elif então aqui a gente tem o mesmo exemplo de antes uma variável dinheiro na conta um valor de 16.600 E se o dinheiro for maior do que 1500 a gente escreve que pode comprar um celular muito bom porém se for apenas maior do que 1000 ou seja for maior do que 1000 mas não maior do que 1500 escreveremos que pode comprar um celular bom então não será um celular muito bom mas com R 1000 dá para comprar um celular maneiro
Então bora agora voltar para o código e testar isso que acabamos de ver então como podemos ver no nosso slide a condição elif vem logo abaixo da condição if então a gente pula uma linha E volta né um Tab aqui a gente aperta o delete ó porque se a gente começasse a digitar elif aqui esse elif ficaria dentro da condição if mas não ele tem de estar aqui ó bem na linha do IF essa é uma coisa que confunde bastante o pessoal quando tá começando Então se errar Não se preocupa é só dar essas verificadas
mesmo então a gente digita elif que eu já já explico o que que significa essa palavra e aqui a gente coloca a condição que é a variável Dinheiro na conta símbolo de maior que e o valor de 1000 logo seguir a gente coloca dois pontinhos e na linha de baixo a gente escreve de novo né então coloca print abre e fecha parênteses e dentro das aspas duplas a gente escreve pode comprar um celular bom então se tiver mais do que 1500 pode comprar um celular muito bom porém caso contrário Ou seja caso não tiver mais
do que 1500 mas ainda assim tiver mais do Que 1000 que é condição elif pode comprar um celular bom então vamos salvar script apertando control s e clicar aqui no Play da Claquete e agora a gente já pode fechar o joguinho e olha só que da hora como a gente tem 1600 no momento a gente pode comprar um celular muito bom ou seja a Godô rodou a condição if porém Se colocarmos aqui de novo o valor de 1300 e rodarmos novamente o jogo veremos que agora a gente não tem mais do que 1500 mas tem
mais do que 1000 ou ou seja nós ainda podemos comprar um celular bom o que é muito da hora Então olha só tá funcionando direitinho ó se a gente tem mais do que 1500 roda if porém se tem mais do que 1000 e menos do que 1500 ou seja se essa condição aqui Não rodar roda a segunda e a gente pode comprar um celular bom e beleza Gabriel entendi a gente pode verificar uma coisa e depois outra isso é bem maneiro já tô conseguindo ver as Possibilidades Mas e se eu quiser verificar se o jogador
né ou no caso se o usuário não possui nenhum desses valores ou seja se eu quiser verificar se ele possui menos do que 1000 no caso eu teria que criar uma condição elif para verificar se ele possui mais do que 999 e depois uma outra lif para verificar se ele possui 998 e depois uma outra para verificar 997 E por aí vai É se quisesse você poderia fazer assim não vejo por quê Porque isso aqui demoraria Milênios para escrever e não seria um código nada otimizado então vamos voltar agora para os slides para conhecer a
famosa condição ELS e ela é famosa por um motivo galera Porque como podemos ver a condição elc roda Se todas as condições anteriores não acontecerem ou seja se você tem 1 milhão de ifs e El ifs em cima nenhum deles acontecer a el se roda isso é muito da hora porque desse jeito a gente tem que Ficar criando diversas condições para verificar né outros cenários basta utilizar o elc e ele vai identificar isso automaticamente e aqui vale um detalhe que a condição ELS só pode ser usada se houver a menos uma condição if antes então
a a gente não pode simplesmente usar ELS do nada porque a condição ELS é um caso com contrário né então se a if acontecer roda if caso contrário roda ELS então aqui como podemos ver no exemplo se tem mais de R00 pode comprar o celular muito bom se tem menos que r00 Mas ainda tem mais do que 1000 pode comprar um celular bom porém caso contrário Ou seja caso não possua mais do que 1000 ou qualquer outro valor né abaixo de 1000 significa que pode comprar um celular mediano então tendo visto esse slide Bora voltar
agora para o código e senão vejamos temos aqui a condição if e a lif Então vamos ir abaixo da elif né porque a condição ELS tem de ser a última Porque ela é última coisa que verifica né o caso contrário e aqui a gente digita ELS e como essa condição é o caso contrário a gente não precisa colocar a verificação né basta digitar else e colocar dois e já pode vir pra linha de baixo porque ela sempre roda caso as outras não rodem Então não precisa de condição em si Então dentro do corpo de El
se a gente utilizar novamente o comandinho print Que eu disse que vocês estariam utilizando muito na hora de estudar programação e aqui a gente pode escrever pode comprar um celular mediano e beleza belezinha já temos nossas três aqui então vamos testar de novo ó vamos começar com r$ 600 na conta quero testar desde início para ter certeza tá tudo funcionando então se temos 1600 a gente tem mais de 1500 ou seja podemos comprar um celular muito bom tá funcionando certinho porém se tivermos menos do que 1500 ou seja 1300 A Godo deverá rodar a condição
elif dizendo que podemos comprar um celular bom então não é muito bom mas é um celular bom maneiro Porém se não for maior do que 1000 ou seja se for aqui 738 por exemplo A nossa condição é deverá rodar então se o usuário tiver R 738 se não vejamos ele poderá comprar um celular mediano Ah que da hora galera nossas três condições estão funcionando certinho Muito maneiro então if roda se Algo aconteceu elif roda se o algo anterior não aconteceu mas se a sua condição aconteceu e a elc roda se nenhuma das anteriores acontecer então
a gente poderia ter por exemplo um trilhão de elif aqui e no final ter apenas esse elc que ainda funcionaria E como eu disse eu eu comentei né que eu estaria explicando o que que significa elif porque elif é uma junção de duas palavras em outras linguagens de programação você encontrará elif escrito Como ELS if por algum motivo em GD script E se eu não me engano também em Python os desenvolvedores quiseram abreviar então a invés de você digitar elsif você digita elif e no caso galera O que significa elsif como vimos a condição el
Se todas as outras não acontecerem ou seja o El é um caso contrário e o if é o se isso acontecer então a condição elif é uma junção das Duas né é caso anterior Não aconteça E caso a minha condição aconteça então irei rodar então aí significa elif é uma mistura da condição else com a condição if que seria else if em outras lingu ens e galera isso aqui é literalmente muito útil e a gente usa praticamente o tempo inteiro porque aqui a gente está fazendo um exemplo mais realmente para entender como tudo funciona né
verificando a o dinheiro na conta do usuário Mas vamos supor que você quer fazer o seu personagem se Movimentar E no caso você quer verificar se alguma tecla foi apertada para movimentar naquela direção então para você verificar se alguma tecla foi apretada você faz isso utilizando uma condição if e se você quer verificar se o jogador tá no chão antes de permitir que ele pule você pode fazer essa verificação através de uma condição if Então galera as condições if são muito muito úteis e a gente usa literalmente o tempo Inteirinho Então essa aqui foi a
aula galera se ficou qualquer dúvida não hesite em perguntar aí vai aí no campo dos comentários e fala ah entendi como é que funciona a elif ela só pode ser usada com if pode vir depois o ELS Então faz a sua pergunta aí que eu estarei respondendo com a maior alegria porque esse curso aqui galera é pra gente realmente aprender Então se ficou com dúvida pergunta que é pra gente poder aprender e começar a desenvolver os Nossos próprios jogos então agradeço imensamente a todos vocês que nos acompanharam nessa aula e também agradeço alisso a Toso
por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo assim que possamos produzir mais cursos e trais gratuitos aqui no YouTube e lembrando que nós temos um curso completíssimo onde criamos o nosso primeiro jogo na Godô Desde do início né baixando a Godo até o final onde a gente exporta o jogo E um arquivo executável como sempre link na descrição e no comentário fixado então muito obrigado e até a próxima aula sejam muito bem-vindos à 12ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje estamos trazendo uma
aula muito da hora muito interessante pois estaremos aprendendo a trabalhar com os operadores aritméticos e também estaremos aprendendo os seus atalhos para facilitar a nossa programação Então Vamos colocar a mão na massa aqui como vocês se lembram na aula passada Nós estudamos as condições if elif e else E com isso agora sabemos como que podemos rodar uma parte do código somente se algo acontecer então o nosso código aqui é condicional ele não vai acontecer o tempo inteiro mas somente se essas condições aqui forem encontradas né Se tudo esver certinho isso foi bem legal bem da
hora mas a gente não estará utilizando isso Nesta aula então podemos como sempre deletar o código e deixá-lo resad Bonitinho e agora para entender melhor as operadores aritméticos vamos pular para os slides e ver do que se trata como podemos ver os operadores aritméticos nos permitem realizar operações matemáticas como adição subtração multiplicação divisão e por fim módulo se você não mexe muito com matemática e também é a primeira vez que Você tá estudando programação Talvez você esteja estranhando um pouco né Essa essa operação módulo Mas pode ficar tranquilo que a gente vai explicar cada uma
delas e aqui para cada operação que nós temos como fazer nós temos um símbolo no teclado que nos permite realizar aa operação e esses no caso são os operadores aritméticos então para realizar uma operação de adição a gente utiliza o símbolo do mais para realizar a Subtração utilizamos o símbolo do menos para multiplicação utilizamos o símbolo do asterisco para divisão utilizamos a barra inclinada para a direita e por fim para operação do módulo utilizamos o operador de porcentagem Então sempre que você ver um porcentagem nesses códigos ele não tá calculando a porcentagem de um número
ele tá calculando o seu módulo então aqui no próximo slide podemos entender melhor como isso funciona porque quando A gente faz uma conta na vida real a gente simplesmente pega o número e acrescenta outro número só que não funciona bem assim na programação Porque como podemos ver na programação para fuar alguma dessas operações primeiro a gente pega o valor da variável e depois com esse valor a gente acrescenta a ele mesmo o novo valor eu sei que S falando é estranho Então vamos conferir aqui na tabela que ó temos uma variável chamada idade que tem
o valor de 10 ou seja a Gente tá falando que uma certa pessoa tem 10 anos e aí Se quisermos realizar uma operação de adição acrescentando 2s idade o que a gente faz é acessar a variável idade colocar um símbolo de igual para dar o novo valor e como valor nós queremos que seja o valor da idade mais 2 o que resultará em 12 então foi isso que eu quis dizer com a diferença da vida real e da programação né na vida real a gente simplesmente pegaria 10 + 2 e dá 12 não Uma boa
mas na programação a gente tem que pegar a variável e dar como valor ela mesmo mais o novo valor Isso é para tudo a gente pode fazer isso com operação de adição subtração multiplicação divisão e módulo Então vamos pular agora rapidamente de volta para Godô e entender melhor na prática como tudo isso funciona então vamos lá aqui acima da função Ready teremos uma nova variável chamada idade que precisa colocar Espaço Ela será do tipo inteira e terá o valor de 10 então a pessoa tem 10 anos então vamos vir aqui na função Ready e fazer
essa operação né a gente vai acessar a variável idade e para acrescentar dois a ela a gente não pode simplesmente colocar mais 2 isso aqui não funciona como vimos temos de colocar um símbolo de igual e para dar o novo valor a gente diz que é o valor da idade ou seja 10 mais 2 então fazendo isso a gente altera o valor da variável e agora Vamos escrever com comando print na output então aqui pede para imprimir a variável idade show de bola então vamos apertar control s e aqui em cima clicar no Play da
Claquete para rodar apenas essa cena como a gente programou tudo isso já no método Ready então a gente já pode fechar o jogo né a gente espera rodar e pronto podemos fechar e aqui na aba output olha só que da hora temos o valor 12 O que significa que fizemos tudo certinho né a gente Pegou a idade que era 10 acres entou dois e virou 12 show de bola então agora que fizemos isso com a operação de mais ou seja a adição vamos fazer com a operação de subtração só para ficar bem explicadinho então a
gente coloca um hashtag nessas duas linhas desse jeito elas viram um comentário como vimos em algumas aulas atrás e com isso o valor da idade não é alterado né ele continua valendo 10 porque se a gente não comentasse essas linhas a idade Valeria 12 a partir de agora porque a gente modificou o seu valor então vamos ir na linha de baixo e fazer a mesma coisa né pegar a variável idade e como valor será a idade menos 2 que no caso dará oito né então a gente também utiliza o print para escrever a idade e
agora salvando apertando cont control S E clicando no Play da Claquete veremos aqui embaixo que o seu novo valor é 8 Então 10 - 2 dá 8 show de bola funcionou vamos agora comentar essas linhas e criar uma nova Programação onde a gente vai multiplicar o valor então a gente acessa a variável da idade e como valor Coloca ele mesmo multiplicado ou seja o asterisco por 2 e a gente sabe que 10 x 2 dará 20 então só para conferir a gente coloca o comandinho do print e executa o jogo Então já podemos fechar olha
só que maneiro temos aqui o valor 20 show de bola por fim vamos conferir então a operação de divisão e aí a gente confere a do módulo para Entender melhor né ó vamos comentar essas linhas e agora a gente pode novamente acessar a idade e como valor dar ela mesma dividido ou seja esta Barrinha por dois E no caso 10 di por 2 dá 5 Então vamos apenas conferir vamos clicar aqui no Play da Claquete novamente e fechar o jogo e taran já temos aqui o valor C muito da hora então essas aqui são as
quatro operações básicas que a gente realiza no dia a dia tanto na programação como na Vida real Mas agora nós temos a operação do módulo que pode parecer bem confusa Então vamos entender melhor né vamos só comentar essas duas linhas aqui e voltar para os slides aqui como podemos ver nós temos dois exemplos da operação módulo né No primeiro a gente pega a idade e faz o módulo por dois ou seja a gente coloca o símbolo de porcentagem e o número dois e o resultado é zero enquanto no segundo exemplo a gente tem a variável
da idade Com módulo de S e isso dá o de 3 e meu Deus do céu o que que significa isso no caso galera o operador de módulo ele pega o restante da divisão ou seja se a gente faz o módulo de dois o que a gente tá falando é Ó computador pega 10 e divide por 2 e mostra o que resta dessa divisão no caso essa é uma divisão inteira né se a gente divide 10 por 2 dá 5 porque 5 x 2 é 10 então dividindo 10 por 2 dá 5 não resta nada
Portanto o resultado de módulo de 10 por 2 é 0 Porque não restou nenhum número na divisão porque 5 x 2 dá 10 certinho porém no segundo exemplo onde a gente faz o módulo por sete o que acontece é que se a gente tentar dividir 10 por 7 não vai dar um número inteiro que vai acontecer é que o s cabe uma uma vez dentro do 10 mas ainda Faltam três números ou seja três unidades três valores né para chegar no 10 portanto a operação do módulo de 10 por 7 O resultado é 3 porque
7 cabe uma vez Dentro do 10 mas ainda Faltam três para alcançar eu sei que só falando pode par ser confuso Então vamos voltar aqui para o código para de fato entender direitinho como isso funciona então a gente pode dar vários enters aqui só para ter um espaço melhor né para digitar e agora vamos lá a gente vai pegar a variável idade e colocar um símbolo de igual para dar um novo valor e aqui será a variável da idade com o módulo ou seja o símbolo de porcentagem Por 2 e a gente viu que 10
di por 2 dá 5 e como consequência o seu restante é zero Então na linha de baixo escreveremos o valor da idade Então se viermos aqui e clicarmos o play da Claquete Ah olha só que maneiro veremos que aqui embaixo aparece escrito zero porque essa é uma divisão inteira não tem nenhum restante porém se estivéssemos fazendo módulo por sete ao invés de por dois teríamos o Restante de TR ó vamos fechar aqui tã temos aqui o valor de TRS na AB explicando novamente quando a gente divide 10 por 7 não dá uma divisão inteira Então
7 cabe uma vez dentro do 10 mas ainda Faltam três números para chegar no 10 Portanto o operador módulo é o operador que nos permite pegar o restante de uma divisão e no caso esse operador módulo aqui é muito mas tipo muito útil mesmo quando você quer descobrir se um valor é par ou ímpar Vamos supor que você tá dizend V no programinha aí para tem que identificar em algum momento se o número é par ou ímpar você usa esse operador aqui pois no caso se o restante da divisão né se o seu módulo for
zero significa que o número é par caso contrário ele é ímpar Então isso é muito da hora galera ajuda bastantão e beleza demos uma conferida aqui né nesses operadores aritméticos mas convenhamos é meio chatinho de ter que ficar escrevendo tudo isso né a Gente tem que acessar a variável e dar como valor a própria variável E aí sim realizar a operação isso aqui é um pouco cansativo e também bem repetitivo né não é uma coisa que tem muita lógica e Justamente por isso que as linguagens de programação nos fornecem atalhos preciosíssimos que nos economizam um
tempão Então vamos voltar agora para os slides e conferir estes atalhos porque aqui como podemos ver temos a mesma tabela de antes onde a gente realiza as Operações mas agora temos uma terceira coluna onde temos os nossos queridos atalhos Então temos aqui né o exemplo que se a gente quer acrescentar dois a nossa variável o que nós fazíamos antes era acessar a variável idade e dar como valor a variável idade mais do beleza isso funciona mas nós temos o atalho da da adição que ao invés de colocarmos idade igual a idade mais do a gente
simplesmente acessa a variável e coloca um símbolo de mais e um símbolo de igual E aí o número dois então Olha só que coisa da hora galera porque quando a gente coloca esse símbolo de mais seguido de um símbolo de igual o que a gente tá dizendo é olha computador eu quero que você pegue o valor atual desta coisa que eu estou acrescentando e acrescente um novo valor então é a mesma coisa que digitar idade é igual a idade mais do só que aqui a gente economiza tempo e espaço a gente simplesmente digita mais igual
e o mesmo vale para as Operações de subtração multiplicação divisão e módulo Então vamos voltar aqui para o código para entender direitinho vamos rapidamente deixar tudo aqui comentado né E vamos vir aqui ó primeiramente a nossa operação de adição que Como podemos ver ela está bem grandinha né então o que a gente pode fazer é simplesmente acessar a variável de idade colocar um símbolo de mais e um símbolo de igual e o número dois e Olha só que coisa legal a linha tá bem menor Bem mais concisa e o resultado será o mesmo porque a
gente está falando com mais igual pega o valor da idade e acrescenta do Então vamos testar isso vamos tirar o hashtag aqui né dessa linha do print e clicar no Play da Claquete e Olha só que coisa coisa da hora a Godô pegou o valor de 10 e acrescentou do virando 12 muito massa então nós temos esses atalhos aí que facilitam imensamente a nossa vida e a gente usa literalmente o Tempo inteiro Isso aqui é uma coisa que você vai usar sempre Então vamos praticar com todas as operações aqui para realmente fixar na nossa cachola
como isso aqui funciona então vamos comentar essas linhas com o joguinho da velha e agora vamos vir aqui na de subtração né Vamos acessar a variável idade colocar um símbolo de menos um símbolo de igual e o valor do que faz exatamente o que fazemos aqui na linha a ca mas fica bem Mais conciso então pega o valor da idade e subtrai 2 no caso esta conta dará oito então ah olha só que maneiro já aparece aqui show de bola Vamos fazer o mesmo agora com a operação de multiplicação Então vamos acessar a variável Deide
colocar um asterisco para multiplicar e o símbolo de igual e o numerozinho dois beleza belezinha agora vamos clicar aqui no Play da Claquete e teremos o resultado de 20 Então olha aqui 20 Porque a idade multiplicada por 2 no caso é 10 x 2 dá 20 vamos fazer o mesmo aqui com o operador de divisão então vamos acessar a variável de idade colocar a barrinha sbo de igual e o valor 2 e aqui teremos né 10 di por 2 que dará 5 Então vamos clicar no Play da Claquete T olha só que maneiro temos cinco
então vocês podem ver que embora seja uma linha menor funciona do mesmo jeito Isso aqui é uma coisa muito legal legal na Programação que você tem diversas maneiras de fazer a mesma coisa então vamos por fim utilizar o atalho na operação de módulo né então vamos acessar aqui a idade colocar o símbolo de porcentagem e o símbolo de igual e aqui vamos fazer primeiramente o módulo por sete né então módulo de 10 por 7 a gente já viu que dá três Então vamos clicar aqui no Play da claquete está aparecendo aqui show de bola então
Vamos fazer aqui né o módulo por dois então módulo de dois aqui a gente vê que 10 di por 2 dá uma divisão inteira então o restante dela é de zero olha só que maneiro temos aqui zero ah Galera tô muito feliz aqui com essa aula porque esses atalhos aqui ajudam imensamente a gente então fiz questão de ensiná-los aqui então beleza galera estes aqui são os operadores aritméticos que são continhas que a gente acaba fazendo no dia a dia e com Isso acaba nem pensando como é que essas contas são realizadas na programação né porque
como eu disse a gente acaba achando que é simplesmente pegar a variável e acrescentar um número mas não né a gente tem que colocar o símbolo de igual para pegar o valor dela isso aqui é bem legal no caso tá com a linha vermelha de erro porque a gente tá tentando realizar uma operação fora de qualquer função né isso aqui não dá certo a gente tem que tá pelo menos Dentro de alguma função então agora aqui já conferimos como que podemos realizar essas operações aritméticas muito da hora estaremos partindo para mais alguns temas um pouco
mais avançados como criações de funções mexendo com ar Race e tudo mais então agradeço imensamente a todos vocês que assistiram a aula até aqui e também agradeço a alisso Matoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos para fazer Mais cursos e tutoriais gratuitos aqui no YouTube e lembrando galera que temos um curso completo de Godo 4 onde criamos o nosso primeiro jogo desde o início né de baixando o programa até o final onde a gente exporta o jogo no arquivo executável muito legal bem baratinho e acessível link na descrição
e no comentário fixado então nos vemos na próxima aula sejam muito bem-vindos à 13ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje estaremos dando uma conferida nos famosos operadores relacionais que no caso se você assistiu a nossa aula onde conferimos as condições if você já utilizou um operador relacional e nem tinha ideia de que tava utilizando no caso você utilizou o operador chamado maior que só que como Aquela aula nós estávamos conferindo as condições if nós acabamos não dando muita atenção para este operador então é por isso
que eu tô Fazendo essa aula aqui para que possamos conferir o operador maior que e todos os outros então bora lá como vocês se lembram na aula passada nós conferimos os operadores aritméticos que nos permitem realizar operações matemáticas então nós vimos o operador de adição de subtração multiplicação divisão e módulo então nós conferimos tudo isso foi bem legal porém eles de nada servem na aula de hoje então podemos deletar todo esse código Aqui e deixar do jeitinho que ele vem e a gente também pode deletar a variável e agora sim vamos pular para os slides
e conferir o que são os operadores relacionais aqui galera como podemos ver os operadores relacionais nos permitem realizar verificações muito precisas Ou seja a gente consegue verificar se uma coisa é algo em relação a outra por isso que é um operador relacional ele verifica sempre em relação a alguma outra coisa aqui temos Diversos operadores Então vamos conferir um por um E lembrando que depois que a gente conferir essa tabela a gente vai voltar pro código e colocar a mão na massa para entender direitinho Então bora lá como podemos ver o primeiro operador se chama igual
a ou seja sempre que quisermos verificar se um número é igual a outro número a gente utiliza esse operador aqui e no caso na programação ele é representado por dois símbolos de igual Ou seja Quando a gente coloca um símbolo de igual significa que estamos dando valor alguma coisa já quando a gente coloca dois símbolos de igual significa que estamos verificando esse valor e é bastante importante prestar atenção nisso galera porque Vira Mexe quando a gente tá começando a gente coloca um símbolo de igual quando quer colocar dois e coloca dois quando na verdade é
só um E aí depois o código fica cheio de EUR a gente não sabe porquê e se você Passar por isso pode ficar tranquilo é uma coisa extremamente comum que com o tempo né com a prática o estudo você praticamente começa a fazer isso de maneira automática e certinha então o importante é aprender que um símbolo de igual é para dar um valor e dois símbolos igual é para verificar um valor então dois símbolos igual é o verificador igual a mas como é que a gente faz para verificar se um valor não é igual a
outro porque na programação Às Vezes a gente quer realmente verificar se uma coisa é diferente da outra então esse operador é o ponto de exclamação seguido de um símbolo de igual então a gente coloca o ponto de exclamação igual isso significa não é igual pois na programação o ponto de exclamação significa negação ou seja tudo que vier depois de um ponto de exclamação nós estamos negando aquilo então quando a gente coloca um símbolo de igual depois do ponto de exclamação nós estamos Falando não é igual então a gente utiliza ele para realizar esta verificação e
aqui Chegamos no operador que utilizamos na nossa aula de condições if que é o famoso operador maior que que é utilizado para verificar se um valor é maior que o outro e aqui galera como sempre a gente vai na regra de para onde a boca do símbolo tá apontando porque se a boca do símbolo né a parte aberta tiver pro lado esquerdo significa que estamos Verificando se aquele valor é maior que outro porém se a boca né a parte aberta tiver apontando pro lado direito significa que estamos verificando se um valor é menor que o
outro então o v virado pra esquerda é o maior que e o v virado para direita é o menor q e com isso a gente consegue verificar se o valor é menor ou maior bem tranquilo e do mesmo jeito que a gente pode verificar se o valor é menor ou maior a gente pode verificar se ele também é Igual ao mesmo tempo então a gente tem o operador maior ou igual que é o v para esquerda seguido de um símbolo de igual e o operador menor ou igual a que é o v virado para direita
seguido de um símbolo de igual e essas operações aqui galera são bem úteis quando nós queremos verificar se um número não é apenas maior que um outro mas se ele também é aquele número essa é uma coisa que a gente já já confere Então agora que já conferimos a tabela vamos voltar para o Nosso código e colocar a mão na massa galera aqui a primeira coisa que estaremos fazendo é criando uma nova variável Então vamos vir aqui e criar uma nova variável chamada nome do usuário Ela será do tipo string E terá o valor de
Gabriel o nome mais lindo do universo e eu não sou nada suspeito para falar isso então temos aqui uma variável com o valor de Gabriel e agora aqui na função Ready vamos criar uma condição if e já Começar a utilizar os nossos operadores então aqui vamos verificar se o valor da variável nome do usuário é igual a Gabriel então a gente coloca dois pontinhos no final e depois o corpo da função então aqui podemos ver que estamos colocando dois símbolos de igual e não apenas um porque a gente coloca um símbolo de igual quando tá
dando um valor mas coloca dois quando tá verificando então quando a gente criou a variável a gente utilizou um símbolo de Igual para dar o valor e aqui na condução if como queremos verificar ele a gente coloca dois símbolos Então se o nome do usuário for igual a Gabriel podemos escrever na aba output você se chama Gabriel então com isso aqui a gente vai ver se esse operador aqui funciona desse jeito então vamos salvar o script apertando cont control s e aqui em cima a gente clica no play da CL para rodar apenas essa cena
E aí o jogo Vai iniciar vai carregar e também já podemos fechá porque aqui nap veremos que apare escrito você se chama Gabriel ou seja tá funcionando certinho porque a gente colocou para essa condição só acontecer se o nome fosse Gabriel agora se fosse por exemplo Bob Esponja essa condição aqui não rodaria né ó vamos testar aqui clicando no Play da Claquete e podemos ver aqui que não Aparece nada na aba output isso aqui acontece porque a gente só roda essa condição se o valor da variável for igual a Gabriel se não for igual Se
tiver qualquer letra diferente não roda Então beleza conferimos o primeiro operador vamos agora na linha de baixo criar uma nova condição if e utilizar o operador não é igual então aqui a gente pode colocar basicamente a mesma coisa né acessar a variável o nome do usuário e um ponto de exclamação segindo do Símbolo de igual e o nome Gabriel e desse jeito sempre que o nosso nome não for igual a Gabriel essa condição if rodará então ponto de exclamação seguido do símbolo de igual é não é igual então aqui a gente pode digitar por exemplo
seu nome Não é vamos deixar em letra maiúscula para chamar atenção seu nome não é Gabriel então vamos clicar aqui no Play da Claquete e olha só que legal funcionou certinho como o nosso nome no Momento é Bob Esponja ele escreve que o nosso nome não é Gabriel isso aqui só acontece por conta do operador não é igual então estes são os primeiros operadores vamos agora conferir os operadores de maior que e menor que então vamos rapidamente comentar essas linhas né utilizando o jogo da velha né o hashtag e agora vamos criar uma nova variável
aqui em cima dessa vez chamada idade ela será do tipo inteira e Terá o valor de 18 então a gente coloca essa variável aqui e agora aqui na função Ready podemos criar uma nova condição wif e verificar se o valor de idade é maior que ou seja o vezinho pra esquerda 17 então se for maior que 17 vamos escrever que tem mais de 17 anos vírgula pode dirigir então aqui no Brasil né se você tem 18 anos ou seja se você tem mais que 17 você já pode Dirigir Então vamos clicar aqui no Play da
Claquete e ver se está funcionando ah que maneiro temos mais de 17 anos então podemos dirigir show de bola então vamos vir abaixo e verificar se temos menos que 17 né no caso menos 17 não né menos de 18 Então vamos criar uma nova condução if e verificar se a variável idade é menor que vezinho paraa direita 18 então a gente coloca que temos eh escrevi errado temos menos de 18 anos portanto não podemos dirigir Então se tiver mais que 17 ou seja se tiver 18 para cima a gente pode porém se tiver menos que
18 não podemos Não e aqui eu escrevi no singular e aqui no plural vamos ignorar essa falta de coerência né vamos rodar aqui e ó como a gente tem 18 anos ele roda o primeiro if a gente tem mais de 17 porém se tivermos por exemplo 15 anos ele não vai mais rodar o primeiro if né ele vai rodar ó temos menos de 18 então não podemos dirigir Show de bola galera Então esse aqui são os operadores maior que e menor que então vamos agora conferir os operadores maior ou igual e menor ou igual Então
vamos rapidamente comentar essas linhas aqui também e voltar o valor de idade para 18 para poder fazer os testes né então aqui podemos apertar vários enters para ter mais espaço né E aqui vamos criar uma nova condição if verificando se idade escrever certo aqui se idade é Maior ou igual ou seja símbolo de maior que e símbolo de igual ao número 18 Então se tivermos 18 anos ou mais que a gente digita aqui pode dirigir pois a gente não apenas tem mais que 18 anos né não apenas temos maior que também podemos ter Igual então
aqui a gente não tem que verificar né se ele é maior que 17 igual fizemos anteriormente porque maior que 17 é 18 para cima né aqui a gente pode fazer a mesma coisa só que com essa verificação a gente verifica se Nossa idade é mais ou iG então tendo 18 ou tendo mais d na mesma a gente pode dirigir Então vamos clicar aqui no Play da Claquete e como 18 é igual a 18 aparece que pode dirigir porém se tivéssemos por exemplo 23 23 não é igual a 18 porém é maior que ele então aquela
condução if rodaria igualmente ó pode dirigir show de bola então vamos agora utilizar o próximo operador que é o menor ou igual então a gente cria uma nova condição if e Novamente acessa né a variável idade e verifica se ela é menor ou igual a 17 Então se tivermos 17 anos ou menos podemos escrever tem 17 anos ou menos não pode dirigir e eu escrevi errado beleza não pode dirigir então aqui se a nossa cidade for igual a 17 a nossa condução if aqui rodará ó porque a gente tá verificando se é menor ou igual
a 17 Então temos 17 anos não podemos dirigir porém se a gente tiver por exemplo 8 anos Claramente não podemos dirigir mas olha aqui a gente tá verificando se é igual a 17 ou menor Então como 8 é menor que 17 veremos que dá na mesma então temos 17 anos ou menos portanto não podemos dirigir e show de bola galera Esses são os operadores relacionais Como podemos ver temos até aqui bastante operadores mas utilizando a lógica a gente nem precisa decorar basta de verdade é só usar a lógica que a gente usa cada um quando
for preciso Né dois símbolos igual para verificar o valor um símbolo de exclamação signo de símbolo de igual para verificar se não é igual símbolo de maior que menor que ou maior ou igual ou menor ou igual e esses operadores aqui né para verificar se é maior ou menor é muito útil quando por exemplo você quer verificar a distância entre o jogador e o inimigo então vamos supor você tá programando a inteligência artificial do inimigo e você quer que ele ataque o jogador se ele estiver Dentro de uma distância de ataque né dentro de um
cerito raio no caso você verifica essa distância utilizando esses operadores aqui então você teria algo como uma condução if verificando se distância do jogador é menor ou igual a distância de ataque e aí Se Fosse Você rodaria a função né atacar então esses operadores né de maior ou menor são muito úteis galera no caso para fazer isso aqui funcionar você precisaria de variáveis né e tudo mais isso aqui é só Um exemplo Zinho mesmo mas é bem interessante galera já ter isso em mente porque pode parecer uma coisa básica né ah só um Simbol aqui
um Simbol inho ali mas isso aqui a gente usa literalmente o tempo inteiro Então galera esta aqui foi a nossa aulinha sobre operadores relacionais espero que vocês tenham gostado e na próxima aula nós estaremos aprendendo sobre os operadores lógicos que são os famosos an e or eu sei que só Falando é bem esquisito mas a gente vai conferir na próxima aula então muito obrigado a todos vocês que assistiram até aqui e também muito obrigado a lí Matoso por apoiar a nossa campanha de financiamento coletivo no apoia assim permitindo Assim possamos produzir mais cursos e e
tutoriais gratuitos aqui no YouTube e lembrando galera que nós temos um curso completo de Godo 4 onde criamos um jogo do zero até o finalzinho então a gente baixa e instala o programa cria o Jogo programa desenvolve tudo certinho explicando o passo a passo e depois exporta ele muito da hora galera fiz com bastante carinho link na descrição e no comentário fixado então muito obrigado e nos vemos na próxima aula sejam muito bem-vindos à 14ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje estaremos dando uma olhada nos
famosíssimos e muito úteis operadores lógicos Então como vocês se lembram na Aula passada Nós demos uma conferida nos operadores relacionais que são o igual a não é igual maior que menor que maior ou igual e menor ou igual nós conferimos como que podemos criá-los e para que cada um serve foi bem legal mas como sempre o assunto dessa aula é diferente do anterior então a gente pode deletar aqui o código e igualmente as variáveis então para entender melhor o assunto dessa aula vamos pular para os slides que aqui como podemos ver os operadores Lógicos nos
permitem deixar as condições if mais avançadas né mais bem temperadas porque até agora quando nós amos as noas condições if embora elas tenham funcionado perfeitamente elas são condições ifs bem simples né a gente verifica apenas uma coisa e depois não faz mais nada né aí a gente verifica se o nome do usuário é igual a outro ou numa outra condição verifica se a idade do usuário é maior ou igual a um determinado valor e assim vai mas aqui Através dos operadores lógicos nós podemos realizar duas ou mais verificações numa única condição if isso é muito
legal pois diminui drasticamente a quantidade de linhas do nosso código galera pois desse jeito a gente não precisa ter uma condição if dentro de outra dentro de outra dentro de outra a gente pode ter uma que é grandinha Então bora conferir esses operadores lógicos Como podemos ver temos apenas dois bem Mais tranquilo que a aula anterior Aqui nós temos o operador e e o operador ou E no caso na programação como a gente escreve em inglês n em gript o operador e se escreve o operador ou se escreve or que é o r Então beleza
temos o operador de e e o operador de ou mas o que que eles fazem né o que eles significam no caso o operador de e te permite rodar uma condição if apenas e apenas mesmo se as condições forem forem de encontro com a Verificação que a gente tá fazendo ou seja não importa se uma vai de encontro e a outra não não as duas T de ir pois a gente tá verificando uma e outra já o contrário acontece né com o operador ou porque ele não liga se as duas verificações estão indo de encontro
ao que a gente tá verificando Ele quer saber se uma é ou a outra ele não quer saber se todas são Ele quer saber apenas uma e eu sei galera que só falando pode dar um nó na cabeça Então vamos pular Aqui de volta para o código e criar as nossas conduções ifs para entender direitinho do que cargas d'água a gente tá falando então para criarmos essas condições ifs Vamos criar umas variáveis novas como sempre foi Como disse galera variável a gente usa o tempo inteiro então aqui vamos criar uma nova variável chamada idade que
será do tipo inteiro e E terá o valor de 18 então estamos falando aqui que o usuário tem 18 anos então podemos vir abaixo e criar uma Nova variável chamada tem carro que é para verificar se a pessoa tem um carro ou não E como ela é uma variável né que vai armazenar uma verificação a gente diz que era do tipo Bull que tem o valor de verdadeiro ou falso no caso ela tem o valor de verdadeiro inicialmente né true então o nosso usuário tem 18 anos e tem um carro show de bola então aqui
na função Ready vamos criar uma condição if e verificar se idade é maior ou igual a 18 E a variável tem carro é igual a verdadeiro e aí coloca o corpo da condição if então aqui o que a gente fez foi criar uma condição if que só vai rodar se as duas condições se encai então aqui o usuário tem que ter pelo menos 18 anos e também tem de ter um carro então vamos criar o corpo da função né que se ele tiver 18 ou mais e tiver um carro significa que ele pode dirigir Então
vamos testar isso né vamos salvar script apertando cont control s e Aqui em cima a gente clica no play na Claquete para rodar apenas essa cena e já pode fechar o jogo porque o que importa é a mensagem aqui da bput que tá dizendo que beleza pode dirigir e no caso o usuário só pode dirigir porque ele tem pelo menos 18 anos e também tem carro caso qualquer uma dessas condições aqui não fosse verdadeira ou seja não se encaixasse essa condição if não rodaria então por exemplo se o usuário tiver 18 anos mas a variável
tem carro For falsa significa que ele não pode dirigir Porque por mais que ele tenha idade se ele não tem um carro ele não tem como dirigir né então a gente pode clicar aqui no Play da Claquete e veremos que nenhuma mensagem aparece na aba output pois essa condição só roda se a primeira for verdadeira e a segunda também for verdadeira então o operador end é justamente para isso você quer que uma condição if só aconteça Se todas as Verificações forem verdade tanto é que a pessoa pode ter um carro mas pode ser menor que
de idade né não faz muito sentido a pessoa ter um carro com 14 anos mas tudo bem aqui veremos que a pessoa mesmo tendo carro como ela é menor de idade né não aparece a mensagem que ela pode dirigir o que é bem legal então temos como verificar né Se todas as coisas são verdadeiras mas se quisermos verificar se apenas uma delas é é verdadeiro é para isso que serve o Operador ou que nós vimos agora H pouco então vamos criar duas novas variáveis para testá-lo aqui vamos criar uma variável chamada está com fome que
será do tipo bu E terá o valor de verdadeiro e uma outra variável chamada qu comer algo diferente ela também será do tipo bu E terá o valor de falsa inicialmente E olha que nomes maravilhosos que estamos dando então aqui a gente vai verificar Se a pessoa tá com fome ou se ela quer comer algo diferente mesmo não estando com fome né então podemos vir aqui embaixo e criar uma nova condição if e verificar se o valor da variável está com fome é igual a verdadeiro ou a gente coloca or se o valor da variável
quer comer algo diferente também é igual a verdadeiro se qualquer uma dessas for a gente escreve Vá ao restaurante então se a pessoa tiver com Fome ela vai pro restaurante ou se ela não tiver com fome mas ainda assim quiser comer algo diferente ela também vai pro restaurante galera Então vamos só comentar nessa linha aqui de cima para não confundir e vamos aqui clicar no Play da Claquete olha só que da hora tá dizendo pra gente ir ao restaurante E por quê porque no caso as duas condições elas não são verdadeiras né a gente tá
verificando se elas são verdadeiras mas No caso apenas está com fome é como podemos ver aqui em cima ó a gente de fato tá com fome mas não quer comer algo diferente Porém Aqui a gente não tá verificando se os dois são verdadeiros aqui a gente tá verificando se é apenas um Então se está com fome for verdadeiro ou quisermos comer algo diferente então a gente vai pro restaurante então para entender melhor vamos testar a situação inversa né no caso nós não estamos com fome a gente coloca false mas ainda Assim queremos comer algo diferente
então a gente coloca true então a gente clica aqui no Play da Claquete e ainda assim olha só que da hora aparece Vá ao restaurante porque no caso mesmo que não estejamos com fome como ainda queremos comer algo diferente e o operador ou que é o or roda se um ou outro for verdadeiro ele ainda escreve V oo restaurante Então galera esses aqui são os operadores lógicos O que é muito da hora porque isso aqui realmente ajuda Bastante a gente quando tá programando é uma coisa que de início eu sei que pode parecer um pouquinho
confusa Mas podem ficar tranquilos que conforme vocês forem estudando e praticando Isso aqui vai ficar uma mão na roda galera porque às vezes você pode verificar se o jogador apertou a barra de espaço para fazer ele pular mas você também quer verificar se ele também está no chão então não basta o jogador apertar a Barra de espaço ele tem de estar no chão para pular então a gente coloca o operador e nesses casos né para que uma coisa não aconteça se apenas uma delas for verdadeira aqui a gente só quer que o jogador pule se
apertou bai de espaço e estiver no chão isso aqui é bem legal e bem útil e aqui galera um último detalhe que podemos ver é que aqui eu não coloquei igual igual a true como fiz aqui em cima no caso isso aqui aqui não É necessário galera eu coloquei igual igual a true para ficar mais explícito né para ficar explicado direitinho que a gente estava verificando mas na programação se você quer verificar se um valor é verdadeiro basta colocar o nome desse valor como por exemplo está no chão que funcionaria do mesmo jeito tanto é
que a gente pode testar aqui ó a gente pode tirar o igual igual a true da nossa segunda condição if porque vai funcionar Do mesmo jeito galera a gente coloca o igual igual a true apenas para deixar mais explicado ó aparece aqui vá oo restaurante do mesmo jeito de antes então se você quiser você pode colocar igual igual a true senão você pode deixar apenas o nome da variável que também funciona porque o computador espera el vai falar ah Tô verificando se está com fome então está com fome né Eu Tô verificando se é verdadeiro
então quando não tem igual igual a true Ele já Sabe que essa a verificação que a gente quer fazer Então beleza galera esta aqui é a nossa querida aula de operadores lógicos que são uma mão na roda e a gente usa literalmente o tempo inteiro Então agora que já conferimos tudo isso estamos ficando cada vez mais entendidos da programação então na próxima aula estaremos dando uma conferida nas famosas arrays que é basicamente uma variável Cheia de variáveis dentro é uma coisa bem legal então muito obrigado a todos vocês que assistiram a aula até aqui também
muito obrigado aíssa por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo assim que possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e lembrando galera que nós temos um curso completíssimo de Godo 4 onde nós vamos desde baixando o programa e colocando o nosso computador até Criando o nosso jogo programando desenvolvendo e exportando ele no arquivo final ficou bem legal esse curso galera link na descrição e no comentário fixado então muito obrigado e até a próxima aula sejam muito bem-vindos à 15ª aula do nosso curso Começando na Godô eu sou Gabriel do
canal desenvolvendo jogos e hoje estamos trazendo uma aula muito legal pois estaremos conferindo as famosas Arrays Então bora lá que como vocês se lembram na aula anterior Nós estudamos os operadores lógicos que são os operadores an e or E com isso agora as nossas condições ifs ficam muito mais poderosas e sem ocupar muito espaço né a gente pode criar tudo numa única linha isso aqui é bem legal mas nós estaremos usando nessa aula então vamos resetar o nosso código aqui e deixá-lo no padrão mesmo então agora que o código já tá limpinho vamos entender para
que servem As arrays no caso vamos supor que você tá criando um jogo e aí você quer armazenar os nomes dos jogadores né vai ser um jogo multiplayer e vamos supor que você tem três jogadores então se você quer armazenar o nome você armazena numa variável E aí o que você poderia fazer é vir e criar uma variável chamada nome do jogador um E aí diz que era do tipo string e como valor coloca Gabriel então esse aqui é o primeiro jogador agora para salvar o Nome do segundo jogador você vem na linha de baixo
e cria uma nova variável chamada nome do jogador do também do TIP string e como valor Jéssica e agora para o terceiro jogador você cria uma nova variável chamada nome do jogador 3 do tipo string e coloca como valor Andressa então aqui temos três variáveis que nos permitem armazenar três nomes isso aqui funciona né a gente pode ver que consigo criar numa boa mas convenhamos dar uma trabalheira danada Né ter que digitar aqui tr três linhas só para poder colocar três nomes isso aqui porque o nosso programa aqui é pequeno né tem só esses três
nomes imagina que você tá por exemplo fazendo um jogo com 100 jogadores aí você teria de criar 100 variáveis para armazenar cada nome e isso não seria muito legal principalmente porque quanto mais jogadores você tivesse mais variáveis você precisaria e é por isso galera que na programação existe uma coisinha Chamada Array que uma Array nada mas é que uma variável onde a gente pode armazenar diversos valores então para entender melhor vamos pular para os slides e ver do que se trata como podemos ver uma Array nos permite armazenar múltiplos valores numa única variável que foi
o que a gente acabou de falar né E aqui na linguagem GD script para se declarar uma Array como é que a gente faz ó a gente cria ela com uma variável normal né digit var e o seu Nome nome e no seu tipo ao invés da gente colocar int float ou string a gente coloca Array que é para dizer para Godô que essa variável não é uma variável comum né Ela é uma Array então a gente coloca aqui o nome de nomes do jogadores porque essa Ray segurará Os três nomes que acabamos de criar
e como valor ao invés da gente simplesmente já começar a digitar os nomes né Gabriel Jessica Andressa a gente abre e fecha colchetes antes porque que na Programação tudo que fica dentro desses colchetes vira uma Array então ó a gente abriu e fechou colchetes e dentro deles a gente colocou os nomes Gabriel Jéssica e Andressa Então é assim que se cria uma aray galera abre e fecha colchetes e aqui vale um detalhe que cada um desses valores está separado por uma vírgula Ou seja você pode ter quantos valores quiser dentro de uma aray Mas você
precisa separá-los através dessas vírgulas senão o computador não vai Saber quando o valor termina e quando o outro começa né então antes de conferirmos mais sobre as arrays vamos voltar para o código e criar a nossa própria Então eu vou deixar essas três linhas aqui né a título de comparação e vamos pular uma linha e aqui vamos criar a nossa aray digitando var em seu nome nomes dos jogadores então ao invés de ter três variáveis separadas a gente vai ter uma que vai segurar todos eles então a gente coloca Dois pontinhos em seu tipo Array
para especificar que é uma Array aí coloca o símbolo de igual e como valor primeiramente abrimos E fechamos colchetes que são esses símbolos quadradinhos aqui e agora a gente coloca os valores né que como são string ficam dentro de aspas duplas né então a gente coloca Gabriel vírgula Jéssica vírgula Andressa e como Andressa É o último valor a gente não precisa colocar uma vírgula no final pode deixar S Então olha só que coisa mágica galera o que antes exigia três linhas agora exige apenas uma única linha e talvez você esteja pensando ah mas desse jeito
a linha fica gigantesca e não dá para ler e realmente né a gente tem três nomes aqui então para ali de boa mas vamos supor que fosse adicionando mais nomes aqui do lado e mais e mais e mais e mais e mais cada vez mais a gente pode Ver que já começa a ficar com grande problemão né então o que a gente pode fazer rapidamente é dividir essa aray em múltiplas linhas ou seja ao invés de ter todos esses valores aqui a gente pode vir antes do valor de Gabriel e apertar enter e com isso
agora os nossos valores pularão para a linha de baixo e se quiser pode deixar desse jeito mesmo mas se preferir pode ir apertando o enter sempre nos outros valores né então antes Jéssica mas depois da vírgula a gente Aperta Enter e aqui antes de Andressa mas depois da vírgula a gente aperta Enter também e aqui só para deixar bonitinho a gente aperta Enter depois de Andressa mas antes do colchete aqui fecha assim ele vem pra linha de baixo e tarã temos aqui a nossa Ray dividida em múltipla linhas no caso agora tá ocupando mais linhas
do que apenas as variáveis né separadas mas olha a vantagem Embora esteja ocupando mais linhas aqui a gente teve que digitar Tudo isso somente para dar um nome aqui a gente pode dar um nome direto né então a gente pode acabar tendo mais linha dependendo de como organiza mas fica mais tranquilo isso aqui a gente também pode apertar o delete e puxar né o colchete aqui pro início da linha então a invés de deixar aqui a gente deixa aqui e beleza agora temos bonitinha a nossa Array com todos os nossos nomes porém como é que
a gente faz para acessar estes nomes né Vamos dar uma Testada vamos vir aqui na função Ready e substituir o pass né escrevendo print que como vocês se lembram É o comando que nos permite escrever coisas na tela então eu quero escrever um desses nomes né então a gente pode vir aqui e escrever nomes dos jogadores então a gente tá pedindo para escrever né a nossa Array Então vamos ver o que acontece galera vamos salvar o script apertando cont control s e aqui em cima vamos clicar no Play da Claquete para Rodar apenas esta cena
e como tudo acontece já no quando o jogo inicia né pois tá na função Ready a gente já pode fechar o jogo e veremos aqui na AB output que os nossos valores apare Então a gente tem aqui ó Gabriel Jessica e Andressa então beleza Tá tudo funcionando certinho o código não quebrou quando a gente separou em múltiplas linhas mas não é exatamente isso que a gente queria porque quando tínhamos as variáveis separadas a gente Conseguia acessar cada um dos nomes né bastava digitar o nome da variável mas agora a gente acessa todos ao mesmo tempo
então como é que a gente faz resolver isso caso vamos pular novamente para os slides e ver aqui pois para acessar o valor dentro de um Array a gente indica a posição desse valor ou seja não basta digitar o nome da Array e pronto acabou a gente tem que indicar a posição do valor aqui a gente faz isso digitando o nome da Array e dentro dos Colchetes a gente coloca um número né 1 2 3 isso indica a posição que queremos acessar Então olha quando a gente cria Array a gente coloca o valor emre colchetes
e quando a gente vai acessar um desses valores a gente coloca a posição dele também dentro dos colchetes portanto viu colchete pense em Array Então beleza visto isso vamos voltar agora para o código e colocar a mão na massa Então vou só dar alguns vários enters para ficar mais fácil de ver a Tela né E aqui se não vejamos temos a nossa Array nomes dos jogadores então ao invés de acessar apenas a Array Ó depois do seu nome mas antes de fechar os parênteses aqui a gente abre e fecha colchetes e digita como tava no
slide o número um então Aqui estamos pedindo para escrever na tela a variável que estiver na posição um da Array Então beleza vamos salvar apertando cont control s e agora antes de continuarem o vídeo deem uma pause e pensem Qual que é O valor ap nós temos Gabri como primeiro Jessica como sego e Andressa como Tero Então qual valor que vai aparecer com a gente tendo colocado a posição para descobrir vamos clicar aqui no Play da Claquete e fechar o jogo e vir aqui para porque agora Muito provavelmente a sua cabeça deu uma bugada absurda
apareceu escrito jica isso bizarra porque se a gente voltar aqui pro código a gente pediu Para escrever né o primeiro valor ó tá aqui número um só que como podemos ver Jéssica é o segundo valor O primeiro é Gabriel então por que que a Godô escreveu Jéssica e não Gabriel por um motivo muito simples galera porque na programação em praticamente toda Santa linguagem que você for estudar a contagem começa a partir do Zero Isso é para tudo sempre que você vai começar a contar uma coisa você parte do zero é uma coisa meio estranha né
Principalmente porque na vida real a gente conta a partir do um mas se você tá entrando no mundo da programação Agora já pode ir se acostumando porque a contagem começa a partir do zero eu sei que de início Pode parecer confuso mas pode ficar tranquilo que com jeito você pega a prática e nem pensa mais nisso então como podemos ver aqui neste novo slide a gente sempre começa a contar a partir do Z portanto a posição zero da Array é onde A gente acessa o valor Gabriel já a posição um é onde a gente acessa
Jéssica e a posição do é onde a gente acessa Andressa então nós temos três valores na nossa Array mas a contagem Vai somente até do pois como ela começa a partir do zero vai 0 1 e 2 ou seja continua os mesmos três valores mas a gente não vai até o três porque começa a partir do zero Então se queremos acessar a posição da valor Gabriel a gente não acessa a posição um a gente acessa a posição zero Ou seja voltando aqui para o nosso código O que podemos fazer é substituir o um aqui pelo
zero e com isso ao clicarmos o Play na Claquete veremos que agora sim a aparece escrito Gabriel O que é muito da hora então a gente viu né se a gente quer acessar qualquer valor da Array a gente acessa por a sua posição começando a contagem a partir do zero Então beleza entendemos como que podemos criar as nossas arrays e como podemos acessar os seus valores para Mostrar na tela mas como é que a gente modifica esse valor Hum vamos dar uma olhadinha ó a a gente pode vir por exemplo na linha de baixo e
para vamos modificar o o valor Gabriel que no caso é o valor zero então a gente novamente acessa a variável nomes dos jogadores e acessa a posição que queremos modificar que no caso é entre colchetes a posição zero e para dar o novo valor a gente simplesmente coloca um símbolo de igual e dá um novo valor então ao invés de Colocar o nome Gabriel Vamos colocar o nome Bob Esponja então agora a gente tá dizendo PR Godô que o que estava na posição Zero qualquer que fosse o seu valor agora é Bob Esponja Então bora
testar isso ó vamos vir na linha de baixo e digitar uma nova linha com print e aqui é a mesma coisa a gente acessa nomes dos jogadores na posição zero que foi a que a gente acabou de modificar Então o que vai acontecer Quando a gente clicar lá no Play Olha a gente tá escrevendo o valor zero depois modificando para Bob Esponja e novamente escrevendo o valor zero Então vamos clicar aqui no Play da Claquete e olha só que da hora aqui na bput a gente vê que apareceu escrito Gabriel e depois Bob Esponja e
por que que isso aqui aconteceu porque a primeira vez que escrevemos aqui a posição zero a gente escreveu sem alterar a nosssa Ray Ou seja ainda tava com esses valores aqui Porém logo após escrever Gabriel a gente veio e alterou a sua posição colocando o valor de Bob Esponja e aí quando a gente pediu para escrever de novo ele não mais escreveu Gabriel né pois não tinha mais esse valor ele escreveu Bob Esponja Então beleza galera é assim que nós podemos utilizar as arrays tanto para modificar um valor como para mostrar mas Lembrando que as
nossas arrays não servem apenas para guardar Strings né a gente pode guardar para dar qualquer Valor por exemplo podemos vir abaixo dar Array nome dos jogadores e criar uma nova chamada pontuações sem acento nem nada a gente coloca dois pontinhos indica que é uma Array e como valor dentro dos seus colchetes a gente coloca 10,5 v7,8 Então essas são as pontuações que a gente pode ter conseguido numa partida né E aqui reparem que a gente também tá separando os valores por Vírgula mas isso aqui não é 10,5 né Não é 10,5 não porque na programação
se a gente quer representar um número quebrado né com casa decimal a gente não usa uma vírgula a gente usa um ponto então 10,5 não é 10,5 é 10.5 é assim que a gente representa então aqui a gente tem o valor 10 seguido do c seguido do sete seguido do oito e agora a gente pode visualizar né todos esses valores de uma vez ou um por um então a gente pode vir aqui na função Ready digitar print e o nome da Array pontuações isso aqui mostrará todas as pontuações de uma única vez podemos ver aqui
ó mostrou Array inteira ou podemos acessar uma posição específica entre colchetes e aqui vamos dizer que eu quero acessar a o valor 8 Então vamos contar Em qual posição que ele tá ó ele tá tem a posição 10 que é a posição zer o valor 5 que é a posição 1 o valor 7 que é a posição 2 e o valor 8 que é a posição 3 então ele é o quarto valor mas Como a gente começa a contar a partir do zero ele tá na posição TR então a gente dentro dos coetes digita TR
e agora clica aqui no Play da Claquete e aqui na aba output aparece o valor oo ou seja galera fizemos tudo certinho então esta aqui foi a nossa aula sobre arace espero que vocês tenham gostado galera vamos voltar o código aqui porque ele tava antes e se você não entendeu logo de cara né Se precisar dá uma reassisti na aula ou deixa uma pergunta nos Comentários porque é completamente normal ficar Confuso com isso no início e eu disse né No início da aula que essa aula era bem legal porque ela realmente é galera quando a
gente aprende que pode guardar múltiplos valores num único lugar Isso facilita imensamente a nossa vida principalmente quando você começa a criar programas e jogos cada vez mais complexos então agradeço imensamente a todos vocês que assistiram a aula até aqui e também agradeço a aliss Matoso Por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos proder mais cursos e tutoris gratuitos aqui no YouTube e lembrando galera que se vocês curtem a Godô nós temos um curso completo onde a gente vai no passo a passo criando um jogo do zero até exportar ele o
arquivo final o link dele está aí na descrição e no comentário fixado então muito obrigado e nos vemos numa próxima Aula sejam muito bem-vindos a 16ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje começaremos a conferir os famosos Loops que nos permitem rodar uma parte específica do código por quantas vezes nó quisermos O que é show de bola Então bora lá colocar a mão na massa e como vocês lembram na aula anterior nós conferimos as famosas arrays que nos permitem armazenar diversos valores numa única variável o que
também é muito Legal porém não estaremos utilizando nada disso Nesta aula então podemos resetar o nosso código aqui deixando igualzinho o original e e beleza belezinha agora que tudo já está organizado vamos pular para os slides e conferir melhor o que que é um loop Como podemos ver um loop nos permite rodar uma parte do código por quantas vezes nós quisermos inclusive infinitamente então se você quiser rodar uma parte do código uma vez duas vezes ou três vezes Você pode mas se quiser que o seu código Rode infinitamente isso também é possível isso é muito
legal porque às vezes nós queremos que o nosso o código Execute determinada ação mais de uma vez e no caso se nós quiséssemos que o código rodasse 10 vezes nós teríamos de executar o mesmo código 10 vezes e com isso teremos de escrever esse mesmo código 10 vezes o que é ser meio cansativo né E também um pouco contraintuitivo Deve existir um jeito Mais fácil de fazer e no caso existe com os Loops aqui como podemos ver na linguagem GD script existem dois tipos de Loops o o while loop e o for loop Nesta aula
estaremos conferindo o primeiro tipo que é o while loop e na próxima estaremos conferindo o segundo que é o for loop desse jeito a gente se concentra em uma coisa de cada vez e consegue aprender tudinho Então vamos pular para o próximo slide entender o que que é um while loop no caso a Palavrinha while em inglês significa enquanto ou seja o while loop roda enquanto algo estiver acontecendo Então como podemos ver para se utilizar um while loop Precisamos de uma variável de controle caso contrário o nosso loop fica infinito e a gente não tem
como sair dele isso é uma coisa que pode ser engraçado à primeira vista né você tá programando e fala Opa cria o loop infinito mas na real o seu jogo pode crashar se você criar um Loop Infinito Então é bom você ficar de olho nisso e essa variável né de controle ela serve justamente para que nós possamos executar o looping apenas enquanto algo estiver acontecendo e temos aqui como exemplo uma variável do tipo inteira chamada contador que começa valendo zero e logo abaixo temos o nosso while loop onde a gente roda ele enquanto a variável
do contador for menor do que CCO Então a gente tem wi contador menor do que 5 e aí enquanto essa for menor do Que C A Godô escreverá na tela Eu Amo pizza e logo em seguida aumentará a variável em um ou seja ela vai escrever eu Umo pizza uma vez e vai aumentar a variável contador em um e desse jeito ela deixará de valer zero e começará a valer um aí como um ainda menor do que CCO ela vai escrever novamente Eu Amo pizza aí vai aumentar a variável em mais um E aí passará
a valer dois e por aí vai até ela valer C eu sei que est falando Pode parecer um pouquinho Confuso Então vamos voltar para o código e de fato escrever né while loop para entender direitinho como é que ele funciona então como eu disse Precisamos de uma variável de controle Então vamos vir acima da função Ready e criar uma nova variável chamada contador será do tipo int E terá o valor inicial de zero pois na programação a gente começa a contar partir do zer como vimos n aulas Anteriores Então dentro da função Ready criaremos loop
digitando e logo em seguida sua condição que noo é enquanto a variável do contor for men a gente coloca dois e v PR linha de baio então aqui queremos utilizar o comando print para escrever eu amo pizza show de bola porém não basta apenas escrever H pizza já que nós temos de aumentar o valor da variável contador caso contrário ela sempre ficará valendo Zero e aí nunca conseguiremos sair desse loop então a gente pode vir aqui abaixo da linha do print acessar a variável do contador colocar o símbolo de mais e o símbolo de igual
seguido do número um Então sempre que o loop rodar escreverá Eu Amo pizza e aumentará a nossa variável Então bora testar isso vamos salvar o script apertando cont control s e aqui em cima clicarem no Play da claquette para rodar este script em específico Como tudo acontece Logo no início a gente já pode fechar o jogo e olha só que da hora vindo aqui embaixo na aba output temos escrito eu amo pizza Eu Amo pizza Eu Amo pizza Eu Amo pizza e eu amo pizza e se liga aqui da hora isso aqui tá escrito exatamente
C vezes que foi a quantidade de vezes que especificamos aqui no looping por exemplo se colocássemos menor do que 100 e rodemos novamente a escreveria Eu Amo pizza exatamente 100 Vezes olha só a gente pode subir aqui olha quanto eu amo pizza tem aqui então por que é que isso aqui funciona né vamos direitinho o que acontece vamos voltar aqui para o número cinco ó a gente tem um looping que roda enquanto a variável do contador for menor do que 5 e no caso ela começa valendo zero então quando a Godô chega Nessa linha ela
fala ah essa variável é menor do que 5 no momento ela vale zero e como zer é menor do que 5 Então essa condição aqui Verdadeira aí ela roda o looping então ele escreve Eu Amo pizza e logo em seguida aumenta o valor da variável Então ela era zero e aí em 0 mais 1 vira 1 então no primeiro looping vamos vir na linha de baixo ó no primeiro looping ela passa de zero para um beleza funcionou aí ele volta aqui pro início e verifica a variável é menor do que 5 a a variável tem
o valor de 1 1 é menor do que 5 então sim esse aqui é verdadeiro aí ela escreve de novo Eu Amo pizza e aumenta Em um a variável Então se tá valendo um vamos vir aqui na linha de baixo se tá valendo 1 1 + 1 é 2 E aí volta pro início do looping e verifica a variável é menor do que C Sim 2 é menor do que 5 Então escreve Eu Amo pizza e aumenta em um aí tá valendo do mas aí passa a valer 3 e por aí vai até não ficar
menor do que C ou seja depois de TRS ela valerá 4 Vamos fazer bonitinho E aí no último looping Quando a nossa variável já tiver com valor de 4 o que vai acontecer é que Quando rodar esta linha de código 4 + 1 é 5 então a variável contador passará a valer c e logo em seguida vai fazer essa verificação a variável é menor do que c não porque como ela tem um valor de c e 5 não é menor do que C A Godô vai falar Opa essa condição não é mais verdadeira então eu
sairei do loop E é assim que a gente cria um a loop com contador que lembrando é bem importante porque se a gente não tivesse essa linha aqui simplesmente deletemos Ela a gente I ficar preso no looping infinito o que não seria muito legal por isso sempre cria uma variável de controle galera isso aqui é muito importante e na verdade nós podemos até mesmo escrever o valor dessa variável né a gente pode utilizar um print e escrever aqui o contador e aí a gente pode até comentar linha do eu pizza colocando hashtag na frente e
ó quando a gente rodar aqui o jogo e fechar veremos que ó começa valendo zero mas aí como a Gente aumentou em um ela passa valer um aí escreve que valeu Um aí depois ela passa valer dois depois 3 4 e por fim fica valendo CCO e como 5 não é menor do que C sai do loop e assim galera que a gente cria um w loop com uma variável de controle O que é bem legal e galera se não entenderam muito bem fica tranquilo porque no início é realmente uma coisa que pode dar uma
certa confusão Então se precisar pausa a aula volta e assiste de novo ou deixe um comentário aí que eu Estarei respondendo com toda alegria e agora que já aprendemos a criar Loops com variáveis de controle está na hora de aprendermos a criar loopings infinitos sim eu acabei de dizer que não é para criar Loops infinitos Mas isso é no sentido acidental tem vezes que você não sabe de antemão Quantas vezes você vai querer rodar um looping então é importante que você tenha um looping infinito e de algum jeito consiga sair dele e para Entender melhor
vamos pular novamente aqui nos slides e conferir que se quisermos podemos criar um Loop Infinito contanto que saiamos dele em algum momento nós podemos fazer isso utilizando a palavrinha chamada Break porque Break é literalmente isso é como se fosse brecar sabe quando você tá andando com o carro e você você Brea ele então o Break te permite sair do loop a qualquer hora hora e temos aqui como exemplo um loop parecido com o anterior A gente tem uma variável chamada contador que começa valendo zero mas reparem que o nosso looping não roda enquanto o contador
for menor do que CCO não aqui tá escrito while true ou seja enquanto true for verdadeiro o looping rodará E no caso como true em inglês é verdadeiro o nosso looping fica infinito porque enquanto verdadeiro for verdadeiro o loop rodará e é por isso que um Wi true é um Loop Infinito e aqui enquanto o loop estiver rodando a gente Vai escrever sou eu de novo e logo em seguida vamos aumentar em um a variável do contador no caso você não precisa necessariamente dessa variável você pode utilizar o Break com basicamente qualquer condição mas eu
coloquei aqui aqui para ficar mais fácil de entender que olha a cada volta do looping a gente tá aumentando o valor da variável em um e aqui logo em seguida estamos verificando se o valor dessa variável é Igual a 10 Então se esse valor de fato for igual a 10 iremos usar o Break e desse jeito iremos sair do looping E com isso temos o looping infinito mas que pode ser saído a qualquer hora e só falando Pode parecer confuso Então vamos voltar para o código e colocar a mão na massa então podemos deixar a
variável do contador do jeito que tá mas vamos comentar as linhas acima né agora a gente cria um novo w loop dessa vez digitando true com T minúsculo e aqui Pediremos para escrever sou eu de novo e é claro que temos de aumentar a variável do contador então a gente pega e aumenta em um Então beleza temos aqui o nosso looping infinito só que ele está literalmente infinito né ele nunca vai sair então a gente tem de criar uma condição if verificando por exemplo se o valor da variável contador é igual com dois símbolos iguais
pois queremos comparar se é igual a 10 se for podemos brecar né podemos utilizar o Break E com Isso sair do loop Então temos um loop que roda infinitamente e vai sempre aumentando em um o valor da variável E aí se essa variável for igual a 10 irá sair do loop caso contrário não vai fazer absolutamente nada né vai continuar rodando Então vamos salvar script apertando cont contrl s e clicar no Play da Claquete e olha só que da hora já funcionou temos escrito sou eu de novo sou eu de novo sou eu de novo
exatamente 10 vezes ó vou só deixar a Tela maiorzinha clicando aqui que é para ver mais fácil ó vamos contar temos uma 2 3 4 5 6 7 8 9 10 Então temos certinho 10 sou eu de novo aparecendo E por que que isso aqui funcionou galera funcionou porque a gente deixa o looping rodando indefinidamente até que o valor da variável seja igual a 10 quando for a gente sai e beleza isso é muito legal e tals mas convenhamos que isso não me parece muito inteligente né porque a Gente Fez absolutamente a mesma coisa que
fizemos no loop anterior com a diferença que aqui isso exigiu mais linhas Então qual que é a vantagem de utilizar um looping infinito neste caso aqui de fato não tem vantagem nenhuma a gente utilizou mais linhas de código utilizou mais processamento do computador e utilizou mais tempo para escrever o programa então né não serviu de nada mas vamos supor que você tá fazendo um programa onde você precisa Que o usuário digite uma senha certa para acessá-lo no caso você pode definir né Que o usuário só poderá ter três tentativas Aí você usa né o iio
com a variável de controle enquanto o usuário tiver três tentativas vai rodar mas quando passar essas três tentativas não rodará E aí beleza esse primeiro Wi funciona mas vamos supor que o seu programa não ten um limite de tentativas ele possa tentar infinitamente até Acertar nesse caso você utilizaria um Wi true pois como esse loop é infinito dentro dele todas as vezes você ia perguntar qual que é a senha e aqui na condição if ao invés de verificar se a variável contador é igual a 10 você faria algo como if senha digitada é igual a
senha real e aí se a senha editada fosse igual a senha real Então você utilizaria o Break E aí Saria do Loop Infinito caso contrário continuaria tentando Indefinidamente Então essa é a diferença galera quando você sabe né a quantidade de vezes específicas que você quer rodar utiliza um a com uma variável de controle caso contrário Ou seja caso precise rodar infinitas vezes você utiliza o w true isso aqui é bem legal então beleza galera esta aqui foi a nossa aulinha sobre os w Loops Como eu disse na próxima aula estaremos conferindo os for Loops mas
antes eu recomendo que você dê uma treinada e uma Praticada com essas aqui porque é bem divertido e também ajuda bastante galera na programação a gente usa wes e for o tempo inteiro conforme os Nossos programas vão ficando mais complexos então muito obrigado a todos vocês que assistiram a aula até aqui e também muito obrigado alim toos por apoiaram a nossa campanha de financiamento coletivo na poia permitindo Assim possamos produzir mais cursos e tutoriais gratuitos aqui no YouTube e lembrando Galera que nós temos um curso completaço de como criar um jogo na Godô do zero
desde baixando o programa até exportando ele o curso é super baratinho galera e de qualidade top link é na descrição e no comentário fixado então muito obrigado e nos vemos na próxima aula sejam muito bem-vindos à 17ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje estaremos continuando o nosso assunto de Loops mas dessa vez estaremos Falando dos Famosos for Loops Então bora lá colocar a mão na massa como vocês se lembram na aula passada nós conferimos o primeiro tipo de looping que é o w loop que é
muito da da hora pois nos permite rodar um código por quantas vezes precisarmos ou até mesmo de maneira infinita O que é show de bola mas aqui galera não estaremos utilizando esses Loops então podemos resetar o nosso código e também podemos excluir essa variável de controle pois os for Loops Não precisam dela Olha que coisa maneira então para entender melhor como eles funcionam vamos pular para os slides e aqui vamos rapidamente relembrar o slide que vimos na aula passada né que um loop para quem não tá ligado nos permite rodar uma parte do código por
quantas vezes nós quisermos até mesmo de maneira infinita Então como vimos na aula passada né Nós conferimos o i loop e Nesta aula aqui estaremos conferindo o for loop Então no próximo slide podemos Ver que para se utilizar um for loop basta definir a quantidade de vezes que queremos rodar o código e pronto acabou então ao contrário do W loop que a gente tem de criar uma variável de controle ou se ele for infinito tem de criar alguma condição para utilizar o Break O que é muito legal e a gente usa em alguns casos embora
a gente possa fazer tudo isso né com o w loop o for loop é extremamente simples é literalmente escolher Quantas Vezes o código vai rodar e pronto acabou então aqui a gente tem a palavrinha for que em inglês iia para mas não para de parar mas de para cada coisa faça isso ou para cada vez que o loop rodar faça isso é algo nesse nesse estilo aí então temos a palavrinha for seguida de uma variável aqui chamada número e o comando in Range com o número 10 entre parênteses E no caso a palavrinha Range em
inglês significa alcance né Então seria algo como para cada número No alcance de 10 ou seja para cada número até o 10 vamos escrever na tela vamos programar e é isso aí assim que se US for loop eu sei que pode parecer meio confuso né mas como assim de onde foi que surgiu essa variável número né então vamos voltar para o código e programar certinho aqui vamos ir na função Ready e escrever for número in range e entre parênteses o número 10 a aqui a gente coloca dois pontinhos e coloca tava lá no SL né
Print vamos programar vamos programar 10 vezes aqui então vamos rapidamente rodar o código e depois entender né Toda essa estrutura aqui então vamos salvar SC aptr s e clicar no Play da Claquete para rodar este script especificamente e já podemos fechá-lo e olha só que legal aqui na aba output escreveu vamos programar exatamente 10 vezes mas por que que isso aqui aconteceu vamos voltar aqui no código e entender Olha a gente Tem uma variável chamada número mas em nenhum momento no nosso código Nós criamos essa variável e tá tudo bem porque o for loop aqui
em GD script ele cria essa variável de maneira automática basta a gente digitá-la aqui dentro do for loop que ela já é criada E no caso o que que ela representa ela representa o que seria né a vez que está sendo rodada do nosso for loop no caso eu coloquei número em seu nome para fazer um pouco mais de sentido né pois queremos rodar 10 vezes mas o seu nome poderia ser literalmente ente arroz não faria diferença nenhuma né mas o que acontece aqui ó quando a gente cria a variável número e fala que é
pro for loop rodar no alcance até o número 10 significa que é para ele rodar tantas vezes quanto Existem os números até 10 Então o que acontece é que a gente tem o número um depois o número dois depois o TR depois o quro que eu coloquei errado aqui quatro depois o 5 6 7 8 9 e por fim 10 Então o que acontece aqui ó entre os números 0 e 10 Vamos colocar o zero aqui né entre os números 0 e 10 temos exatamente 10 números Então a gente tem ó 1 2 3 4
5 6 7 8 9 10 então chegou no 10 já parou a gente quer rodar até o número 10 Então o que acontece que como na programação a gente começa a contar a partir do zero ao invés de termos apenas nove números a gente tem 10 porque o zero também conta então como Temos 10 números até o número 10 o nosso for loop rodará 10 vezes olha só que da hora então essa variável número serve apenas como uma variável de controle mesmo né que seria para cada vez que o nosso for loop rodar faça isso
aqui então olha só que da hora no loop a gente tinha que vir aqui em cima e criar uma variável de controle mas no for loop isso não é necessário galera a gente pode fazer diretamente desse jeito então explicando rapidamente mais uma vez Antes de conferirmos o próximo for loop ó a gente tem um número ou uma variável né de qualquer nome que e controla Quantas vezes o nosso looping tá rodando e com o comandinho Range a gente diz quantas vezes o looping deve rodar então como colocamos o número 10 ele vai rodar quantos números
tiver até o número 10 então ele vai rodar uma vez 2 3 4 5 6 até chegar no 10 tanto é que se colocássemos aqui em Range de dois o nosso for loop rodaria apenas duas vezes Olha só aqui na aba output vamos programar e vamos programar ele roda apenas duas vezes por quê Porque partindo do zero até o número do temos apenas dois números que seria 1 2 o zero e um apenas dois números até chegar nele então desse jeito a gente especifica direitinho por quantas vezes queremos rodar o nosso for loop O que
é muito legal então galera esse aqui seria um for loop básico né Agora vamos conferir um outro tipo mas antes de fazer isso né A título de curiosidade se você vem de outras linguagens de programação como por exemplo C Sharp você verá que este loop aqui é muito parecido com um looping chamado for each porque eu vou escrever umas coisas agora não precisa se preocupar em decorar por isso aqui não existe em GD script mas em outras linguagens Você tem dois tipos de for loop né você tem seria o for convencional e o for it
no caso o for convencional Seria algo como uma Variável chamada I que começa valendo zero enquanto I fosse menor que por exemplo 10 e mais mais e aqui embaixo você teria o seu código que eu escrevi errado aqui código aí você tem o for loop padrão e você tem o for each que no caso o for Seria algo como é uma variável também por exemplo tipo inteira chamada número dentro do alcance de por exemplo 10 não em 10 né mas uma variável chamada número máximo algo do tipo aí aqui sim você teria também o seu
código Não lembro se exatamente assim que se escreve a estrutura do for CP porque faz um certo tempinho que eu não uso mas a ideia é essa nas outras linguagens a gente tem o for loop convencional e o for que como vocês podem ver é muito parecido com for loop que a gente acabou de criar é literalmente ó para cada número em algum número faça alguma coisa e aqui a mesma coisa ó para cada número no alcance de do ou de 10 como estava anteriormente Faça isso então se você Vende outras linguagens Você pode ter
aprendido desta maneira aqui mas em GD script é muito mais simples ó uma linha de código aqui tem uma duas e TR sem contar o seu código né então você pode ver que GD script facilita bastante Olha que a gente precisa nas outras linguagens só para rodar um comando 10 vezes Deus amado Então temos aqui o primeiro tipo né de for loop que roda para uma quantidade específica de vezes que a gente diz aqui Mas e se a gente Não souber exatamente a quantidade de vezes Hum como é que a gente faz para exemplificar melhor
ó vamos supor voltando umas aulas atrás que nós temos uma Array cheia de nomes quem conferiu nossa aula de arrays já tá ligado ó a gente pode ter uma Array chamada nomes dos jogadores que é do tipo Array e tem o valor de por exemplo com T maiúsculo Então temos uma aray aqui com esses três nomes até então se Quisemos escrever esses três nomes O que teremos de fazer é vir aqui emaio digitar print e acessar a variável nome dos jogadores na posição zer depois acessar na posição e por fim na posição do Vamos só
comentar aqui o for loop anterior ó que desse jeito nós conseguiríamos escrever na tela esses três nomes ó Maro Luigi e to Então beleza isso funciona mas convenhamos não me parece uma maneira muito inteligente De se escrever isso né funciona mas eu acho que dá para otimizar com for loop no caso a gente poderia né criar aqui então for loop né de para cada nome nome em Range de vamos ver temos um do 3 nomes aqui então para cada nome em Range de TR a gente vem e escreve esses nomes e beleza isso Teoricamente funciona
mas olha esse for loop aqui será rodado três vezes mas a gente ainda tem de acessar manualmente a posição de cada nome então como é que a gente faz Para resolver esse a gente faz isso utilizando um outro for loop que podemos ver aqui neste SL que ó Se quisermos a gente pode iterar por uma Array e a palavrinha iterar pode parer meio estranha porque é uma palavra que a gente não US no dia a dia quear verdade a gente praticamente não us em momento algum iterar significa rodar sobre algo né passar item por item
então quando a gente fala que vai iterar uma Array a gente tá Dizendo que vai passar em item por item daquela Array no caso estaremos passando por cada nome dela aqui ó temos o exemplo que criamos agora né Array chamada nomes dos jogadores que tem como valor Mario Luigi e toou e aqui como é que a gente faz para escrever cada um desses nomes ó a gente cria um for loop escrevendo que para cada nome naay nomes do jogadores a gente simplesmente escreve esse nome Olha só que coisa simples o que antes necessitava de três
Linhas de código agora necessita apenas de duas e isso porque nós temos apenas três nomes se a gente tivesse por exemplo 1000 nomes antes nós precisaríamos de 1 linhas de código mas com essa nova técnica nós continuamos precisando apenas de duas que coisa mágica Eu amo a programação Então bora voltar aqui pro código galera e colocar a mão na massa direitinho ó vamos deletar esse for loop que ele tá todo errado né aqui vamos digitar for Novamente e dizer que para cada nome na Array de nomes dos jogadores o que queremos fazer é utilizar o
print para escrever esse nome e pronto acabou só isso porque que a gente tá dizendo aqui é que vamos acessar cada nome da Nossa Array e escrever esse nome e lembrando que essa variável que o for loop cria automaticamente ela pode ser de qualquer nome eu coloquei o nome nome que era para deixar bem explicado que a gente está acessando o nome da nossa aray mas Aqui a gente poderia colocar para cada banana funcionaria do mesmo jeito só teria que mudar aqui embaixo né só que a gente deixa nome para deixar bem explicadinho ó Então
o que ele faz é é iterar pela Array nomes dos jogadores Então vai passar por item por item dela E aí para cada item ou seja para cada nome irá escrever esse nome então vamos rodar aqui o nosso código e olha só que legal temos o mesmo resultado de antes só que com muitas linhas de código a Menos mar Luigi e to e eu sei galera que de início esses for Loops que a gente iterando por uma podem parecer meio confusos e até mesmo meio bruxaria Mas pode ficar tranquilos que conforme a gente vai estudando
e praticando a gente vai entendendo cada vez melhor e se ficou com alguma dúvida pausa a aula e assiste de novo ou escreve um comentário que estarei respondendo e aqui como eu disse né temos apenas duas linhas no caso duas linhas para escrever três Nomes não parece uma otimização muito boa mas a gente poderia aumentar essa Ray aqui infinitamente né a gente poderia colocar o nome de Pit poderia colocar o nome de toet é assim se escreve toet a namorada do to não sei né mas poderíamos colocar o nome de Yoshi e por aí vai
E agora temos 1 2 3 4 5 6 nomes e esse for loop continua funcionando Se liga vamos clicar aqui no Play da Claquete e olha só que mágica as Mesmas duas linhas gentes imprimem todos esses nomes maravilhoso se a gente tivesse utilizando a forma anterior e tivesse aqui por exemplo três nomes a a gente teria que alterar PR qu ou para C ou para se e aqui se e desse jeito a gente teria que ficar alterando né o r Range o tempo inteiro mas a gente simplesmente itera diretamente pela R isso aqui funciona maravilhosamente
bem e vamos deixar mais Bonitinho ó um nome em cada linha como aprendemos na aula sobre arrays no caso vamos deletar esses nomes extras porque não precisa né então aprendemos nessa aula aqui dois tipos de for Loops onde a gente diz exatamente a quantidade de vezes que queremos rodar ou pedimos para iterar por uma Array O que é muito da hora porque às vezes você não sabe exatamente quantos valores você tem numa Array então isso aqui já ajuda bastão e lembrando se não entendeu logo De cá não precisa se envergonhar não precisa ficar com medo
de que não vai aprender pode ficar tranquilo que com o estudo e a prática a gente pega o jeito então muito obrigado a todos vocês que assistiram a aula até aqui e também muito obrigado a aliss Matoso porar a nossa campanha de financio coativo no apoio permitindo Assim possamos produzir mais cursos e tutoris gratuitos aqui no YouTube e se você tá curtindo aprender programar e quer criar os seus primeiros Jogos recomendo que você dê uma conferida no nosso curso de Godô 4 onde criamos um jogo do zero desde baixando e instalando os programas até exportando
o jogo no arquivo final o curso tá muito legal e com uma qualidade top link aí na descrição e no comentário fixado então muito obrigado pela companhia e a paciência de todos vocês e nos vemos na próxima aula sejam muito bem-vindos à 18ª aula do nosso curso Começando na Godô eu sou Gabriel do canal desenvolvendo jogos e hoje estaremos tratando de um assunto muito legal e também muito muito muito importante que são as funções Então bora colocar a mão na massa como vocês se lembram na aula anterior nós conferimos os famosos for Loops que são
muito úteis quando queremos rodar um pedaço de código tantas vezes ou iterar por uma Array foi bem legal aprender isso aqui só que hoje não estaremos usando nada disso então podemos deletar esse código Deixando tudo resetador vamos pular para os slides e entender melhor o O que são essas funções galera no caso uma função nos permite organizar o código dividindo em diversos blocos com cada um desses blocos tendo seu propósito ou seja ao invés da gente chegar no código e jogar tudo num único lugar né linha atrás de linha atrás de linha a gente pode
separando o nosso código em diversos blocos e desse jeito tudo fica mais Organizado e funcionando melhor por exemplo nós podemos ter uma função exclusiva para movimentação do jogador depois uma função exclusiva para o ataque do inimigo e também uma função exclusiva para o coletar da moeda O que significa que a gente poderia sim programar tudo isso junto mas é interessante ter cada pedacinho de código fazendo a sua própria coisa então vamos rapidamente voltar aqui para o código e conferir duas funções que já Temos por padrão sempre que a gente cria um script aqui na Godô
né ele já cria a função process e a função Ready que se você tá acompanhando esse curso desde as primeiras aulas talvez você se lembre que na aula que a gente entendeu o que que era um script nós vimos que tanto a função Ready quanto a função process são funções padrão da godo ou seja elas são criadas automaticamente com todo o script no caso a função Ready roda quando o jogo inicia é por isso que a Gente sempre programa os nossos testes aqui para já acontecer instantaneamente e a função process roda uma vez por frame
ou seja se o seu jogo está rodando a 60 quadros por segundo a função process literalmente roda 60 vezes por segundo é uma loucura eu sei então já temos Essas funções aqui elas são muito úteis pois além de rodar em momentos específicos o nosso código fica mais organizado né ao invés de ficar tudo linha dentro de linha dentro de linha a Gente tem as funções Onde fica tudo organizadinho tá Mas beleza temos essas duas funções padrões aqui mas o Deal da programação é criarmos nossas próprias funções e como é que a gente pode fazer isso
voltando aqui para os slides veremos que quando falamos de funções primeiramente precisamos entender que podemos criar elas de três maneiras então podemos criar uma função simples uma função com argumentos ou parâmetros já já a gente explica a diferença dos Nomes e também uma função com retor Então temos três tipos de funções aí que estaremos estudando nessa aula que é basicamente tudo que a gente precisa saber sobre funções então aqui no próximo slide podemos ver como é que a gente cria uma função simples e quando eu digo quea uma função simples eu digo que ela uma
função que não faz coisas mirabolantes nem nada é literalmente a função mais básica que a gente pode criar aqui como podemos ver Primeiramente a gente digita a palavrinha funk ou funk que é uma abreviação da palavra function em inglês então a gente digita funk para dizer para o código que o que estamos criando é uma função depois a gente coloca o nome dessa função geralmente sendo um nome que faz sentido com que a gente tá fazendo né então se a gente tá programando a movimentação do jogador a gente coloca o nome de movimentar o jogador
então o nome da função é sempre Um verbo daquilo que ela tá fazendo né então aqui a gente tá criando uma função chamada cumprimentar que ou seja ela vai cumprimentar o usuário aí a gente abre e fecha parênteses e agora uma coisinha nova que a gente não viu até o presente momento a gente coloca uma flecha né uma seta e a gente faz isso digitando menos e o símbolo de maior que e a gente coloca isso para indicar o tipo de retorno da função mais para frente da aula estaremos entendendo o que que é um
Retorno mas por enquanto basta digitarmos a palavrinha void depois essa setinha pois isso significa que ela não estará retornando nenhum valor Como disse já já a gente entende melhor mas por enquanto a gente sempre digita void então a gente digita funk o nome da função e aí declara seu tipo de retorno e dentro dela ou seja e dentado com os espaços para dentro a gente digita o seu corpo como tem feito até agora no caso aqui a gente está simplesmente pedindo Para escrever Olá Luigi na tela e eu que de início Pode parecer muita coisa
mas você podde ficar tranquilas conforme a gente vai estudando e praticando cara a gente pega o jeito no piscar de olhos isso aqui tá super natural pra gente então vamos voltar aqui para o código e de fato colocar a mão na massa criando nossa primeira função galera Então temos as funções process e Ready que já são padrões né então a gente pode deixá-las aqui sem fazer nada e agora para Criarmos uma nova função a nossa própria função viremos depois depois a função process umas duas linhas abaixo pois na linguagem GD script é uma regra Zinha
né de estilo a gente deixar duas linhas entre as funções então aqui na terceira linha a gente digita funk e aí o seu nome no caso comprimentar abre e fecha parênteses e coloca setinha né que é o símbolo de menos e o símbolo de maior que e a palavrinha void aí a gente coloca dois Pontos e aperta Enter e fazendo isso a Godô já vai automaticamente identar a nossa linha né Ou seja quando a gente começar a digitar já começa nessa posição se por algum motivo não veio dentado né veio colado Basta ver na primeira
linha apertar Tab no teclado desse jeito ele vem pro lado e agora galera vamos entender direitinho né que que a gente fez a gente digitou funk colocou o seu nome abriu e fechou parênteses colocou a setinha de cou que Não tem retorno nenhum beleza belezinha mas o que que significa essa palavrinha P no caso a palavrinha P significa que é para Godô simplesmente ignorar essa função aqui porque mais tarde nós estaremos né utilizando o comando print para escrever Olá luig mas quando a gente cria a uma função ou uma condição o que quer que seja
a gente tem de passar um corpo para ela se a gente deixasse isso aqui vazio a Godô daria um erro quando a gente tentasse rodar o Jogo ó tá aparecendo aqui embaixo que tá esperando um bloco edentado depois da declaração da função ou seja a gente não pode criar uma função vazia A gente tem de programar o seu corpo Mas se a gente vai programar mais pra frente a gente pode simplesmente digitar a palavrinha P igual tem aqui em cima nas duas funções né isso aqui diz pra Godô olha essa função existe mas por enquanto
não tem nada então a gente coloca sempre P mas No caso aqui nós queremos fazer uma coisa que queremos é utilizar o comandinho print para escrever Olá Luigi Então temos aqui o Mário cumprimentando o seu irmão então beleza temos a nossa função cumprimentar Mas será que ela vai funcionar galera Hum vamos testar vamos salvar o script apertando control s e aqui em cima a gente clica no play da Claquete para rodar esta cena do jogo Específica e agora a gente já pode fechar o jogo e hum não funcionou a gente vem aqui na about e
não tá escrito lá luid então por que será que isso aconteceu ó senão vejamos a gente criou a função digitando tudo que precisava e utilizou o comando print hum Por que que não funcionou por um motivo muito simples Nós criamos Sim a nossa função mas em nenhum momento nós chamamos ela porque o que acontece é que como os nossos scripts nós temos Literalmente dezenas e centenas de funções se o código rodasse todas elas automaticamente as funções iam perder completamente o seu propósito porque a ideia de uma função é deixar o código organizado permitindo que rodemos
partes deles em tempos específicos né não tudo ao mesmo tempo então é por isso que uma função Não é chamada automaticamente no caso Temos esta né que a função process e a Ready são chamadas automaticamente porque elas Fazem parte da Godô então elas rodam no início em todos os frames Mas esse não é o comportamento padrão se temos uma função própria que a gente criou Como é o nosso caso nós temos de chamá-la e para fazer isso basta literalmente só digitar o seu nome com abre e fecha parênteses como queremos que essa função Rode Logo
no início do jogo a gente pode chamá-la dentro da a função Ready que roda Logo no início do jogo né então a gente Remove a palavrinha pass e digita O seu nome comprimentar abre e fecha parênteses e pronto isso é tudo que a gente tem que fazer olha só agora que a gente já tá chamando a função aqui a godor vai falar Opa tá pedindo para rodar isso aqui aí ela vai pular aqui pra linha 12 e vai ler essa função e ver o ten de fazer ela vai falar Ah tá tenho que escrever Olá
Luigi então quando rodar essa linha c na verdade estaremos rodando a linha 13 né porque ela vai fazer todas as instruções Da função então sem mais teoria bora pra prática salvando script apertando cont control S E clicando no Play da Claquete e já fechando o joguinho olha só que legal galera temos escrito aqui ó Olá Luigi O que significa que fizemos tudo certinho então beleza temos a nossa função aqui entendemos né que a gente não pode apenas criar a função temos de chamá-la mas isso por si só não deixa o nosso código muito mais poderoso
né digo agora a gente consegue rodar as partes Dele em momentos específicos né porque se a gente tivesse o print diretamente aqui no Ready o resultado Seria o mesmo mas se a gente tivesse diversas linhas de código aqui a função R ia ficar bem bagunçada então é por isso que é interessante separar em blocos mas isso por se só não demonstra todos os poderes de uma função então é por isso que agora estaremos dando uma olhadinha nos famosos parâmetros barra argumentos entendendo a diferença desses Nomes né então vamos pular aqui para os slides E com
isso veremos que se quisermos criar uma função com parâmetros o processo é bem semelhante ao que a gente acabou de ver a gente digita funk e o nome da função que no caso é comprimentar só que dentro dos seus parênteses agora a gente vai colocar uma coisinha no caso essa coisinha é um parâmetro e um parâmetro nada mais é que uma variável Que Nós criamos Exclusivamente para utilizar na função então Ó aqui a gente tá criando uma variável do tipo string ou seja uma sequência de caracteres chamada nome então sempre que chamarmos a função complimentar
poderemos passar um valor para essa variá nome e aí passando esse valor nós temos como utilizá-lo dentro da função isso é muito legal porque ó a gente tem a variável chamada nome e dentro da função ao invés da gente digitar diretamente Olid a gente digita Olá seguido da variável nome e desse jeito Independente de qualquer que seja o valor que a gente passar pra variável nome a Godô escreverá na tela este nome e vocês já estão começando a entender o quão poderoso isso é porque agora a nossa função não fica limitada a escrever Olá Luigi
ela pode escrever Olá Luigi olá máo olá Pit O que é muito da hora então vamos voltar aqui para o código e de fato colocar a mão na massa Ó vamos deixar aqui a função cumprimentar do jeitinho que tá E só passar lá para baixo porque aqui estaríamos criando uma nova função digitando funk em seu nome comprimentar 2 para indicar que a segunda função de comprimentar né então a gente abre e fecha parênteses e antes de finalizar essa linha dentro dos parênteses estaremos criando a nossa variável que é o nosso parâmetro então aqui a gente
digita o seu nome que no Caso é nome mesmo e aí coloca dois pontinhos para especificar o seu tipo que no caso é string então estamos criando uma variável do tipo string aí aqui a gente coloca de novo a setinha com o símbolo de menos e o símbolo de maior que e a palavrinha void para indicar que esta função não tem retorno nenhum Lembrando que já já a gente entende isso aqui e no final a gente coloca dois pontinhos e aperta Enter e aqui coloca o corpo da função como não Tem nada ainda a gente
simplesmente coloca a palavrinha P Então como é que a gente pode utilizar a variável que acabamos de criar no caso essa aqui é uma variável exclusiva da função não adianta a gente por exemplo tentar acessar aqui na função process porque ela simplesmente não existe galera se liga tá falando que o identificador nome não está declarado no escopo atual e o escopo nada mais é que o corpo da função no caso a função process não tem nenhuma Variável chamada nome então a gente não pode utilizá-la aqui então ela é uma variável exclusiva da nossa função Então
vamos escrever seguido do nome né então a gente utiliza o print e entre aspas duplas a gente digita Olá vírgula espaço e agora a gente sai das aspas pois não queremos escrever a palavra nome mas sim o valor da variável então a gente vem depois das aspas duplas mas ainda dentro dos parênteses e coloca um símbolo de mais e a variável Nome e fazendo isso estamos literalmente juntando a palavra Olá com o valor da variável nome isso aqui se chama concatenação galera é quando a gente junta um valor com o outro na programação você vai
ouvir bastante esse termo concatenação então aqui a gente tá dizendo para escrever Olá seguido do valor da variável nome então vamos colocar de fato essa função aqui para funcionar Que não basta apenas criá-la Né a gente tem de chamá-la então podemos comentar né A primeira função aqui cumprimentar pra gente não se confundir com os prints e aqui a gente chama cumprimentar do abre e fecha parênteses e aqui tá o detalhe galera não basta apenas chamar a função Porque como ela tem um parâmetro a gente tem de passar um valor para ele tanto é que tá
dizendo o erro aqui embaixo ó que temos poucos argumentos Para comprimentar dois Eles esperava receber um que é né o valor da variável nome mas receber zero então aqui dentro os parênteses a gente simplesmente passa o nome que a gente quer com a sequência de caracteres a gente coloca entre aspas duplas e aqui a gente pode digitar também luid então ele vai escrever Olá luid tanto é galera que se salvarmos o script apertando cont control s e clicarmos no Play da Claquete veremos que Olha só que coisa maneira ele escreveu aqui embaixo Olá Luigi O
que significa que fizemos tudo certinho e reparem que é o Há luid dessa função mesmo porque a primeira a gente comentou e qual que é o poder desses parâmetros galera no caso poder é o seguinte ó na linha de baixo a gente poderia chamar de novo essa função cumprimentar dois abre e fecha parênteses mas agora ao invés de passar o nome luid a gente poderia passar o nome Mário então a gente escreve Olá Luigi e depois Olá Mário ó vamos salvar E rodar e olha só que legal aparece escrito aqui embaixo Olá Luigi Olá Mário
então agora já dá para pegar o poder dos parâmetros né porque antes a nossa função cumprimentar só dizia Olá Luigi e nada mais se quiséssemos que ela dissesse Olá Mário teremos de criar uma outra função né a gente teria a função cumprimentar Luigi e cumprimentar Mário o que num programa pequeno acaba não fazendo muita diferença mas conforme os seus programas os seus jogos vão ficando Maiores e cada vez mais complexos isso ia se tornar um problemão então a utilização de parâmetros é extremamente útil porque ó a gente consegue passar um valor para uma variável que
a gente cria diretamente na declaração da função O que é muito da hora e agora explicando rapidamente né Qual que é a diferença de um parâmetro e de um argumento porque olha se a gente remover o valor de Mario veremos que a Godô vai apontar um erro e aqui vai dizer que tem Poucos argumentos na nossa função complimentar do E por que que ela tá falando tem poucos argumentos e não poucos parâmetros por um motivo muito simples galera Ó quando a gente cria a função e cria a variável né que a gente deixa como exclusiva
dela esta variável aqui se chama parâmetro então quando a gente cria a variável na declaração da função nós estamos criando um par poré quando a gente vai passar um valor para este parâmetro Ou seja quando Passar um valor PR variável nome Isso se chama argumento Então temos essa diferença técnica que na real né na prática acaba não fazendo diferença nenhuma mas se você for pesquisar alguma coisa online é importante ter em mente essas diferenças quando a gente cri variável estamos criando um parâmetro quando a gente valor para variável estamos passando um argumento e uma dica
para entender melhor essa diferença é que quando a Gente passa o valor a gente está dando um argumento ou seja estamos argumentando com a função é como se a gente tivesse conversando com ela e a gente quer passar nossa opinião para ela então a gente argumenta com ela então quando a gente cria a variável a gente cria um parâmetro e quando a gente dá valor a variável na função a gente passa um argumento Como eu disse não tem diferença nenhuma né praticamente falando mas Teoricamente falando tem Essa diferenç Sim então beleza entendemos né Como criar
uma função simples que apenas executa o comando e como criar uma função com parâmetros que nos permite utilizar variáveis exclusivas isso galera acreditem deixa o nosso código extremamente poderoso mas agora Se quisermos desbloquear o potencial Total das funções teremos de passar para os slides novamente e conferir como que podemos criar uma função com um retorno que eu tô falando Retorno retorno retorno essa aula inteira mas o que cargas d'água é o retorno no caso o retorno nada mais é que um valor que você pode retornar quando a função é chamada ou seja você pode chamar
uma função para executar alguns comandos e só isso você simplesmente executa esses comandos e não faz nada mais que é o que a gente tem feito até então mas você também pode pedir para que uma função devolva um valor para quem a Chamou ou seja você pode executar os seus comandos mas também pode pedir para mandar um valor de volta e para entender melhor isso vamos olhar o exemplo ó que aqui nós temos uma função chamada calcular soma e tudo que ela faz é retornar o valor da soma de 1 e 2 ou seja a
gente soma 1 mais 2 que dá 3 e a gente retorna esse valor para quem nos chamou no caso para quem chamou a sua função só que reparem galera temos um pequeno detalhe aqui a gente cria ela do Mesmo jeito que as outras né então a gente digita funk e o seu nome que no caso é calcular soma a gente abre e fecha a parênteses e coloca a setinha porém ao invés de digitarmos a palavrinha void que a gente tem digitado até agora a gente digita o tipo do valor que a gente tá retornando ou
seja aqui como estamos retornando o número três a gente diz que essa função retornará o tipo inteiro que é o tipo int já que o número três é do tipo inteiro já se Estivéssemos retornando por exemplo o valor de verdadeiro ou falso que seria o true ou false a aqui nós não colocaríamos que ela retorna int colocaremos que ela retorna Bull já se estivéssemos retornando uma string né uma sequência de caracteres aqui estaríamos dizendo que não é int mas sim string então a única diferença é que a invés da gente digitar void a gente digita
o tipo do valor que tá retornando literalmente isso eu sei que estou Falando pode parecer confuso Então vamos voltar para o código e sujar mais ainda as nossas mãos mexer nas funções Então vamos novamente seguir a regrinha de deixar duas linhas de espaço entre uma função e outra que é uma regrinha estética né que ajuda na legibilidade do código e aqui a gente digita funk e o seu nome de calcular underline soma aí abre e fecha parênteses se quiser você pode passar né parâmetros criar variáveis aqui dentro mas para Simplificar esse exemplo eu vou est
deixando do jeito que tá mesmo e depois a gente coloca a setinha com o símbolo de menos e o símbolo de maior e o tipo do valor que iremos retornar aqui a gente vai retornar o valor do tipo inteiro Então coloca int aí a gente coloca dois pontinhos e vem pra linha de baixo Então como é que a gente faz para retornar um valor no caso a gente simplesmente utiliza a palavrinha return que significa retornar Em inglês e aí coloca o valor que queremos retornar que no caso é a soma de 1 mais 2 e
pronto é literalmente isso a gente tem uma função para calcular a soma e a gente retorna esses valores e lembrando galera que sempre que você criar uma função que retorna algum valor né você declara o valor que você tá retornando você tem de retornar algum valor você não pode ficar sem retornar porque senão a a Godô vai reclamar ó Ela tá dizendo aqui nem todo O caminho né do código retorna um valor que é uma frase meio criptográfica né mas o que ela tá dizendo é que ô você diz quer retornar o valor inteiro mas
você não tá retornando nada é isso que ela tá falando então sempre que você disser que vai retornar o valor você tem de retornar esse valor isso é muito importante então beleza estamos retornando 1 mais 2 que no caso é TR mas como é que a gente utiliza esse valor retornado no caso a gente pode fazer o Seguinte ó a gente pode vir aqui e comentar essa essas duas linhas e na linha de baixo a gente pode chamar a função que acabamos de criar que no caso é calcular soma e aqui isso Teoricamente vai fazer
com que nossa função já funcione mas veremos que não acontecerá como esperamos Então vamos salvar SC apertando cont control s e clicar no Play da Claquete gente clicou rodou o jogo e Ué não tá aparecendo nada na bput E isso acontece porque aqui na função calcular soma nós não estamos escrevendo 1 mais 2 né Ou seja a gente não tá utilizando o print de 1 mais 2 não nós estamos retornando o valor então o que acontece é que quando a gente chama uma função que retorna algum valor a gente pode escrever este valor diretamente na
tela né então a gente poderia utilizar o print e dentro de seus parênteses a gente chama a nossa função calcular soma então aqui ele não vai escrever o nome Da função na tela aqui ele vai escrever o valor retornado por essa função então a gente coloca print e entre os seus parênteses a função calcular soma e abre e fecha parênteses E agora se a gente salvar apertando Crol s e clicar no Play da Claquete ah veremos que agora sim funcionou escreveu aqui na about o valor tr que no caso é o que a gente retornou
né a soma de um com dois e eu sei galera que de início as funções podem parecer Um pouco confusas principalmente funções com retorno eu lembro que quando eu comecei eu demorei um pouquinho para entender como é que elas funcionavam mas é literalmente isso ó a gente tá retornando um mais do que no caso a gente poderia só retornar aqui o número 10 que daria na mesma ó quando a gente clicasse no Play da claquete teremos que ela escreve 10 porque aqui a gente não tem que retornar Obrigatoriamente uma soma aqui A gente só tem
que retornar o número inteiro o que é muito legal e aqui galera Lembrando que a gente pode retornar o número inteiro pode retornar uma variável do tipo Bull pode retornar uma variável do tipo string o que você quiser e agora gostaria de dar um pequeno desafio para vocês que é pra gente solidificar de fato esse conhecimento que aqui eu quero que você vocês criem uma espécie de calculadora de soma onde a gente tem uma função que Recebe dois parâmetros no caso vai receber o primeiro número e o segundo e aí a gente vai retornar esta
soma então pause aula agora e faça já caso ainda não saiba está tudo bem pois faremos isso juntos agora mesmo se não conseguiu Não se sinta mal a gente tá conferindo as funções agora então é normal ter dificuldade mas basicamente a gente vai estar juntando né as funções de parâmetros com as funções de retorno então bora fazer isso ó vamos Primeiramente comentar né O que a gente tem até então e aqui a gente pode criar uma outra função digitando funk chamada calculadora top aí a gente abre e fecha parênteses e aqui dentro é o pulo
do gato né a gente cria as nossas variáveis que são os nossos parâmetros Então primeiramente a gente digita o nome da variável aqui eu vou chamar de nu1 para representar o Primeiro número e ela será do tipo inteira e aí para declarar um segundo parâmetro a gente simplesmente coloca uma vírgula por do Gado hein coloca uma vírgula e cria a segunda variável no caso vou chamar de n2 aqui também será do tipo inteira e aqui como essa função retorn né este valor inteiro a gente coloca a setinha e int E aí a gente coloca dois
pontos e programa o corpo da Função no caso aqui queremos retornar a soma de N1 com n2 e aqui vamos fazer um jeito um pouquinho diferente ó a gente poderia simplesmente digitar return N1 mais n2 isso i funcionar numa boa mas para mostrar que podemos fazer mais coisas que apenas retornar um valor a gente pode criar uma variável chamada resposta e dar o valor de N1 mais n2 então ó estamos criando uma variável e armazenando esse cálculo dentro dela aí Aqui embaixo a gente digita return e o que queremos retornar é o valor da variável
resposta Olha só que coisa da hora galera então isso aqui é pr a gente aprender né que a gente pode sim retornar diretamente o valor mas se estivermos fazendo uma coisa mais complexa né uma operação mais longa a gente pode armazenar tudo dentro de uma variável E aí a gente retorna essa variável bem da hora então beleza Criamos Nossa função mas a gente precisa escrever né o valor retornado então a gente vem aqui na função Ready e digita print e aqui a gente pode simplesmente chamar né a função calculadora top abre e fecha parênteses e
aqui a gente passa um valor pro N1 e pro n2 vamos somar o primeiro valor de 10 e para indicar o valor a gente coloca vírgula e passa o valor de 5 Então vai somar 10 com5 e no caso a Godô tá reclamando aqui que a variável resposta Não existe né aqui na nossa função isso que acontece porque eu esqueci de colocar a palavrinha var antes PR de definir né a variável resposta então não basta apenas digitar resposta tem que ter a palavrinha var para indicar que é uma variável peço desculpas aí por esse meu
deslice mas beleza Agora tudo funciona certinho ó a gente tem a função que recebe dois números nos parâmetros N1 n2 aí a gente diz que vai retornar um valor do tipo inteiro e logo em seguida A gente cria uma variável chamada resposta que armazena a soma de N1 com n2 e por fim gente retorna O valor da resposta então sempre que a função calculadora top for chamada ela vai retornar o valor dessa variável que nada mais é que a soma de N1 com n2 então quando a gente usa o comando de print para escrever o
valor retornado e passando os valores 10 e 5 para N1 n2 nós receberemos o número 15 Então vamos salvar o script apertando cont control s E clicar no Play da CL Ah olha só coisa da hora galera apareceu escrito 15 aqui embaixo então show de bola fizemos tudo certinho e aqui lembrando novamente o poder destes parâmetros isso aqui podemos fazer diget outro print e aqui a gente pode utilizar Nossa calculadora para outros valores podemos chamar a calculadora top e dentro dos parênteses agora passar os valores de 55 e e 73 galera Então olha só que
da Hora antes a gente teria que ter uma função para calcular esse número e outra função para calcular esse mas agora a gente tem uma função que recebe argumentos para os seus parâmetros Então a gente tem escrito aqui ó 15 que é a soma de 10 com 5 e 128 que é a soma de 55 com 73 e poderíamos fazer isso literalmente galera de maneira infinita Porque como temos parâmetros a nossa função fica bem flexível Então galera esta foi a aulinha De hoje uma aula muito legal e talvez um pouquinho comprida sobre funções mas que
eu quis reunir tudo num único vídeo desse jeito sempre que você tiver alguma dúvida você recorre a Ele sem ter que ficar procurando em um trilhão de lugares Então vamos deixar o código em tela cheia apenas para dar aquela revisada marotinha porque a aula de hoje foi um pouco puxada mesmo então ó as funções nada mais são que pedaços de blocos que Contém certas partes do nosso código então a gente tem a função rare que é função própria da Godô que roda quando o jogo inicia e a função process que também é própria da Godô
que roda quando o jogo inicia mas nós também podemos criar as nossas próprias funções e para isso podemos ter funções simples onde a gente simplesmente executa um comando um dois ou três não importa mas a gente simplesmente Executa os comandos e não faz mais nada podemos ter funções com Parâmetros onde nós executamos os comandos sim mas também criamos variáveis para utilizar dentro delas e a gente passa o valor para essa variável quando a gente chama a função e por fim vios que temos funções que tem retorno né então a gente pode ao invés simplesmente executar
alguns comandos podemos retornar um valor e acreditem galera função com retorno a gente usa o tempo inteiro Então sempre que a gente vai Retornar o valor a gente especifica qual que é o seu tipo né se é int Bull string E no caso se a gente não vai retornar nada com a função a gente digita a palavrinha void que é o que a gente tem feito até então né Se for retornar alguma coisa diz o que que vai retornar senão simplesmente coloca void que significa um retorno vazio aí o programa não espera nada em troca
da função e por fim também Vimos que podemos misturar né todas as táticas da função então a gente Pode ter uma função que aceita argumentos para os seus parâmetros e ao mesmo tempo retorna um valor e esse valor pode ser retornado diretamente né Na Linha Do return mas também pode ser armazenado em uma variável E aí retornado o valor dessa variável Então galera aprendemos bastante coisa por isso se não entendeu muito bem não precisa se sentir mal galera jamais em momento algum se S tomos por não entender algo viu é é completamente Normal que estude
e não entrando logo de cara então pausa a aula e re assiste se ficou com alguma dúvida deixa um comentário que eu estarei respondendo com a maior alegria e agora antes de finalizar a aula apenas um última coisinha que pode ter passado um pouco despercebido mas que essa coisinha é o underline na frente do nome das funções talvez você tenha reparado que tanto a função Ready quanto a função process Elas começam com underline né que é esse Ifen para baixo enquanto as nossas funções não começam com underline e por que que isso aqui acontece galera
isso aqui acontece porque todas as funções que são padrão da Godô Ou seja a função process e a Ready e todas as outras que já vemm programadas dentro da Godô todas elas começam com underline desse jeito sempre que a gente digita um underline na frente do nome da função a gente tá dizendo para Godô Olha eu estô querendo acessar uma função que é sua já quando a Gente digita um nome de uma função sem underline nem nada a gente diz PR Godô ó essa função aqui é minha e é uma coisinha galera que pode parcer
uma regrinha meio besta né só coisa de estilo mas é realmente necessário seguir essa regra porque se você quisesse você poderia vir aqui na frente da sua função e colocar um underline na frente do nome você poderia fazer isso poderia mas aí daria erro porque olha só aqui embaixo aparece Que a função calculadora top não foi encontrada e como assim não foi encontrada se a gente tá criando ela aqui muito simples porque o underline na frente significa que é uma função própria da Godô então quando a gente coloca underline calculadora top a gente tá dizendo
pra Godô ó eu quero acessar sua função calculadora top Só que no caso ela não tem essa função Então essa é a regrinha ó função própria começa com underline isso aqui Já tem automático a gente não precisa se preocupar Mas as nossas funções começam sem o underline é claro que no meio do seu nome você pode ter os underlines para separar as palavras né E na verdade você pode ter Quantos underlines você quiser mas isso no meio do nome no início não pode não então beleza galera esta aqui foi a nossa aula sobre funções gostei
bastante de ter gravado ela e espero que vocês também tenham gostado E Agora Nós estamos com o nosso cinto de 100 utilidades basicamente pronto a gente aprendeu variáveis aprendeu condições Aprendeu mexer com Loops e agora com funções O que significa que se tudo correr bem se eu fiz o planejamento certinho né Na próxima aula nós estaremos programando a movimentação do nosso jogador quem aí se lembra que no início do curso Nós criamos aqui o nosso mago pois bem na próxima aula estaremos programando ele não será uma programação absurda extremamente complexa vai ser Mesmo pra gente
ter um exemplo prático e colocar aquilo que a gente aprendeu em prática mesmo né então muito obrigado a todos vocês que assistiam a aula até aqui e também muito obrigado al lissima too por apoiar a nossa campanha de financiamento coativo na apoia-se permitindo Assim possamos prer mais cursos e tutoris gratuitos aqui no YouTube inclusive se você tiver aí uns R 5 sobrando no final do mês e por puder contribuir com o projeto no apoia-se eu Ficarei imensamente agradecido E lembrando que nós temos um curso completo onde criamos um jogo na godu do início ao fim
desde baixando instalando o programa até exportando o jogo no arquivo final tá muito legal muito top sero de qualidade desenvolvendo jogos link na descrição e no comentário fixado então muito obrigado e nos vemos na próxima aula sejam muito bem-vindos à 19ª aula do nosso curso Começando na Godô eu Sou Gabriel do canal desenvolvendo jogos e hoje estou muito feliz pois iremos finalmente programar o nosso querido mago galera Pois até agora todas as nossas aulas foram uma preparação para este momento pois como vocês lembram essa série aqui é voltada para quem tá mexendo na Godô pela
primeira vez ou seja nós conferimos como baixar e instalar o programa conferimos como importar arquivos para dentro dele também começamos a entender o que que Era os script e daí pra frente foi conhecimento atrás de conhecimento a gente aprendeu a mexer com variável aprendeu a mexer com condições if elif ELS com arrays com Loops de for Wi criar funções simples com parâmetros recebendo argumentos também funções com retorno então ou aprendemos muita coisa e meus parabéns por ter chego até aqui então como eu prometi na aula passada Nesta aula estaremos programando o nosso mago que lembrando
não será nenum programação Mirabolante estaremos apenas programando uma movimentação top Down ou seja estaremos fazendo com que el se movva para cima e vamos pegar aqui a imagem certa né estaremos fazendo com que eles vão para cima para baixo para a direita e para a esquerda e tudo isso via código o que vai ser muito da hora então bora colocar a mão na massa e aqui galera antes de partirmos para a programação temos de nos relembrar rapidamente de como é que funciona o nosso mago né Que Nós criamos ele muitas aulas atrás então Ó aqui
na bacine da cena do jogador até então a gente estava utilizando a cena de estudo né para programar os nossos testes mas agora a gente vai partir pra cena do jogador aqui o nosso mago ele tem a seguinte estrutura o seu nó principal é um nó do tipo Character bar 2D que como vocês se lembram a gente adicionou esse nó porque ele é perfeito para programar movimentação de jogadores e ele tem como fhos os nós de Sprite 2D Que nos permite mostar a imagem do Mago e também cision Shape 2D que nos permite adici uma
for esta quero 2do P Sprite deion Shape 2D elho vamos programá-lo e a primeira coisa que precisamos fazer é Criar o seu script no caso nós poderemos estar programando isso aqui no script do estudo mas ia ser maior confusão porque ia ter que passar esse script para esta cena E aí ia ter que mudar o nome dele Porque o nome de estudo não faz muito sentido com o jogador ia ficar uma bagunça então vamos criar um script próprio aqui para o nosso personagem então com o nó dos jogadores selecionado temos de prestar atenção para que
não seja o nó do Sprite nem do colion shape mas o nó principal do jogador porque é ele que estaremos movimentando então com ele selecionado clicarem aqui no maravilhoso pergaminho que fica aqui em cima e com isso aod abrirá essa nova Janelinha nos perguntando Quais são as configurações principais do script aqui a gente pode deixar que ele vai herdar as características do Character B 2D que é justamente isso que deixa mais fácil programar a sua movimentação então a gente deixa o resto do jeito que tá né GD script deixa o template de default a gente
não quer um script completamente vazio mas também não quer esse aqui que já vem com movimento básico a gente quer construir Um do zero então a gente deixa no padrão para já vir as funções Ready e process desse jeito a gente já ganha um pouquinho de tempo e aqui ele irá salvar o script na mesma pasta que a gente tem salva o nosso jogador que no caso é a pasta jogador E no caso o nome do script será exatamente jogador Então tá tudo bem Então beleza tendo tudo isso aqui configurado vamos clicar em Create e
agora sim galera vamos programá-lo então a primeira coisa que faremos ela uma Organizada aqui no código né removendo estes comentários pois a gente já sabe o que tudo isso aqui faz então eles não são necessários agora e logo em seguida iremos criar uma variável para o nosso jogador E no caso essa variável servirá para controlar a velocidade de movimento porque se a gente não definir uma idade movimento ele ficará muito devagar Então acima da função Ready respeitando as regras de espaço né de duas linhas aqui em cima criaremos uma variável digitando Var chamada velocidade do
jogador Lembrando que a gente separa as palavras com underlines e agora a gente coloca dois pontinhos e o seu tipo como conferimos nas aulas de variáveis quando a gente quer adicionar um número na variável pode ser do tipo inteira ou do tipo float no caso estaremos utilizando o tipo float porque nos permite Adicionar números com casas decimais Então se a gente quiser que a velocidade do jogador Seja por exemplo 4 E5 a gente pode fazer isso com float Então a gente vai colocar o tipo float e como valor colocaremos 400.0 e Opa 400 é uma
velocidade bem grandinha Mas pelo os testes que eu fiz fica bem legal então teremos a variável que controla sua velocidade só que a gente já tá craque e viremos abaixo e criaremos uma nova variável para armazenar a direção que o jogador está se movendo no caso nós poderemos programar a sua movimentação apenas com A variável de velocidade Mas é interessante ter uma variável separada né uma variável a parte para controlar a sua direção porque isso nos permite solucionar um bug que estaremos vendo como é que ele é acontece e também como corrigi-lo então vamos criar
uma variável digitando var chamada direção do movimento e no caso galera o tipo dessa variável será um tipo novo que a gente não viu nas aulas de variáveis porque ele é um tipo mais Específico da Godô do que de linguagem de programação em si no caso é o tipo Vector 2 e para quem nunca programar um jogo e estiver se perguntando o que cargas d'água é um Vector ou traduzindo um Vetor pode ficar tranquilo que a gente não vai entrar em detalhes matemáticos Até porque eu não sou nenhum profissional da área da matemática mas um
vetor basicamente são setas que apontam para uma determinada direção e no caso um vetor do ou um Vector 2 ele Aponta para a direção X e Y ou seja através dele a gente consegue armazenar a posição horizontal e vertical que o jogador vai se mover por isso que a gente chamou a variável de direção no movimento pois através do Vector 2 estaremos armazenando seu valor x e y e é uma coisa meio confusa de ter3 de início Então não precisa se preocupar em entender tudo agora só que a gente vai pegando com tempo e no
caso já vamos dar um novo valor para esse Vector 2 com Símbolo de igual e esse novo valor será um Vector 2 abre e fecha parênteses e colocaremos como valor zero vírgula zero pro segundo valor e fazendo isso a gente tá dizendo que os valores de x e y desse Vector 2 é zero pro x e zero pro Y então a gente tá dizendo que basicamente esse vetor não tem valor algum ele é um vetor Zerado Como eu disse não precisa se preocupar de entender logo de cara porque a gente vai seguindo aqui com a
aula e vai entendendo melhor então agora Que já temos essas duas variáveis significa que já podemos começar a de fato programar a sua movimentação e no caso como queremos que o jogador possa se movimentar a todos os instantes nós podemos fazer essa programação aqui na função process pois como ela roda todo santo frame é aqui que a gente programa coisas que queremos que aconteçam o tempo inteiro só que como vimos na aula passada uma aula muito legal sobre Funções é interessante separar o nosso código né estruturá-lo de uma maneira que Cada pecinha do código seja
um bloco diferente e desse jeito tudo fica mais organizado e o que eu quero dizer com isso é que ao invés de estarmos programando tudo na função process estaremos criando uma função específica para movimentar o jogador E aí estaremos chamando essa função aqui dentro então vamos pular duas linhas seguindo a regra de estilo e criar uma nova função Digitando funk em seu nome movimentar jogador abre e fecha parênteses E no caso Esta função aqui galera ela não terá nenhum parâmetro né não receberá nenhum argumento e aqui a gente não vai est retornando nenhum valor então
a gente coloca a setinha e a palavrinha vo aí coloca dois pontos e programa seu corpo e aqui galera o que queremos fazer dentro dessa função no caso a primeira coisa queremos fazer é identificar as teas que o jogador aptou Aqui queremos identificar se ele apertou w SD e dependendo dessa moviment caaio lado out né eiza verificação utilizando uma condição if que como vocês se lam lá n aulas anteriores nós vios que condições if nos permit rodar uma parte específica do código somente se algo acontecer então aqui o que queremos identificar é se a tecla
D foi apertada e desse jeito a gente movimenta o nosso jogador pra direita só que a gente não pode Simplesmente vir aqui e digitar D porque a Godô não vai saber que a gente digitando d a gente tá querendo pegar a tecla D então aqui estaremos aprendendo uma coisa nova que é muito legal na Godô que é quando a gente configura a tecla e relaciona ela a umaação específica do jogo ou seja a gente pode configurar para que as teclas w SD sejam relacionadas à movimentação então só falando Pode parecer esquisito Então vamos fazer isso
Aqui agora né ó a gente vai sair um pouco aqui do código e vir aqui em cima nesse menuzinho e clicar em project e logo em seguida em project settings fazendo isso a Godo abrirá esta nova janelinha aqui que é cheia de coisa mas o que nos importa mesmo é o segundo menu chamado input map então a gente clica aqui e com isso nós podemos adicionar ações ao nosso jogo e as ações nada mais são que uma tecla que a gente configura para fazer determinada coisa então vamos Começar adicionando a tecla que vai movimentar o
jogador para a direita ó a gente vem aqui em add New Action nesse campo e escreve o nome daação no caso estarei colocando MV de movimento underline direito então teremos uma uma ação que se chama movimento direito no caso MV aí eu coloco esse nome e venho aqui do ladinho e clico no botão add E com isso a Godô adicionará esta ação aqui o que significa que já podemos Utilizarla no nosso código porém no momento ela não está mapeada a nenhuma tecla ou seja não basta criar uma ação nós temos de dizer para Godô Qual
que é a tecla que ativa esta ação então a gente vem aqui na ação MV direito e clica nesse Simbol de mais ao lado da lixeira e fazendo isso a Godô abrirá essa nova janelinha onde a gente não clica em absolutamente nada porque o que quer que a gente clique a Godô vai falar Ah beleza essa é a tecla relacionada que Elas são então a gente a gente simplesmente clica no mais e quando essa janela abrir a gente aperta a tecla no teclado que corresponde a esta ação no caso como estaremos movendo para a direita
eu apertaria a tecla d e olha só que da hora só de apertar a tecla d a Godô já identifica e agora ela sabe que a ação de movimento direito será chamada quando apertarmos D então a gente pode clicar aqui em Ok e pronto isso é literalmente tudo que a gente tem que Fazer porque agora se que apertarmos d a Godô vai saber que o d está relacionado a essa Estação Então o que faremos agora é adicionar ação para movimentação da esquerda para cima e para baixo Então bora lá viremos aqui em add New Action
e chamaremos essa de MV underline esquerdo que será a movimentação para a esquerda aí clicarem em Ed e agora para adicionar uma tecla clicarem no e na nova janelinha apertarem a tecla a desse jeito a gente vai dizer que o a Sempre vai pra esquerda né Igual é convencional nos jogos a gente clica aqui em Ok e beleza show de bola temos aqui o movimento direito movimento esquerdo então falta agora apenas movimento para cima e para baixo então estarei fazendo eles como um pequeno desafio se você já sabe como adicionar esses movimentos e mapear as
suas teclas pause agora e faça já caso ainda não saiba está tudo bem faremos isso juntos agora mesmo então para adicionar esses Movimentos para cima e para baixo viremos novamente em add New Action e aqui digitarem MV underline cima que será a tecla w né então a gente clica em Ed e agora aqui no Simbol inho do mais e aperta w e ag vai falar Opa aperta a a tecla w está relacionada a ação de movimentar para cima e por fim viremos novamente em add New Action e digitarem MV underline baixo e adicionaremos essa ação
e agora clicarem no mais e apertarem S Então beleza belezinha agora temos todas as nossas ações já mapeadas no teclado Eu sei galera que esse aqui é um processo um pouco demorado que pode parecer até um pouco chatinho né dependendo de quantas teclas você quer adicionar Mas é bem de boa porque uma vez que isso aqui tá feito não precisa fazer mais só se você for criar outro projeto né e é bem legal porque agora a gente já tem tudo previamente configurado e se você conseguiu realizar O desafio Meus parabéns então agora que já tem
tudo isso aqui pronto a gente pode fechar essa janelinha e voltar aqui para o código e no caso eu vou dar só alguns vários enters para trazer o código mais para cima beleza Então temos aqui todas as nossas movimentações já previamente configuradas mas como é que a gente vai identificar se estamos apertando as teclas que acabamos de configurar a Gente identifica da seguinte maneira ó na nossa condição if digitarem input com i maiúsculo ponto is Action press abre e fecha parênteses e é justamente dentro desses parênteses que a gente coloca o nome da tecla que
queremos identificar aqui queremos identificar a tecla D que como a gente acabou de configurar ela está em MV under direito então a gente coloca entre aspas duplas né porque é uma string Então temos aqui que sempre que MV for Chamado essa condição if rodará E no caso o MV direito será ativado né quando a gente apertar a tecla D isso aqui galera o comandinho is Action pressed ele verifica né Se alguma ação foi pressionada no caso ação é esse nome né que a gente cria aqui e pressionada é se a tecla dela foi pressionada então
essa condição if rodará se a tecla relacionada ao MV direito for pressionada no caso é a tecla D Então vamos colocar as duas bolinhas aqui no Final e vir para a linha de baixo e aqui o que quer fazer é dizer para godu que a nossa direção do movimento no eixo horizontal ela é igual A1 Então vamos fazer isso aqui eu já já explico porque que a gente está fazendo ó a gente vai acessar a nossa variável direção do movimento E lembrando que ela é um Vector do né ela tem o eixo X e Y
aqui como a tecla D se mo na horizontal a gente vai colocar ponto x para acessar o seu eixo horizontal e dará o valor de Um Então galera a gente tá fazendo isso aqui pelo seguinte motivo ó se voltarmos um pouco aqui para cima veremos que o nosso Vector do é o que armazena a direção que a gente está se movendo no caso é a direção horizontal no eixo X e vertical no eixo Y e aqui a gente está dizendo que ao apertar a tecla D que é o MV direito o seu eixo X que
é o seu primeiro valor ele deixará de ter o valor zero e passará a ter o valor de um Isso significa que a gente tá indo para A direita pois como vocês se lembram em um gráfico né a a gente tem aqui que para a direita é positivo e para a esquerda é negativo então a gente dizendo que o x = 1 na verdade a gente tá falando que ele tá indo para a direita eu sei que de início Pode parecer confuso mas com tempo e a prática você pega o jeito então quando se movimentar
pra direita vai ser um quando se movimentar para a esquerda será -1 mas por padrão é zero Então ó sempre que a gente apertar D essa variável terá o valor de 1 no seu primeiro valor que é o eixo X então vamos agora vir na linha de baixo identificar se a tecla para a esquerda foi apertada que no caso é a tecla a e para fazer isso vem abaixo da condição if não dentro dela mas abaixo e cria uma condição elif que como vocês se lembram roda se a if anterior Não rodar e aqui a
gente vai fazer basicamente a mesma coisa que é acessar o input com i Maiúsculo e verificar através do comandinho is Action pressage dentro dos seus parênteses vamos perguntar se a ação MV underline esquerdo foi chamada Lembrando que essa ação é chamada quando a gente aperta a tecla a se for tudo que queremos fazer é acessar a nossa variável direção do movimento no eixo X e dar o valor de menos e fazendo isso agora sempre que a tiver apertando D vai ter o valor positivo e quando tiver apertando a vai ter o valor negativo belezinha show
de bola poré galera se a apen do jeito que teremos um pequeno probleminha e o probleminha é o seguinte ó vamos voltar aqui na vari para explic melor a gente tem Vector do que diz qual que é direção horizontal e veral do jogador beleza até aí tudoem então quando a gente apar a tecla D vaiar um aí o jogad vai começar a se movimentar pra direita e quando a gente Apertar a vir men1 e com isso ele vai se movimentar para a esquerda Então beleza um é direita e menos um a esquerda até aí tudo
bem porém em nenhum momento a gente tá resetando esse valor ou seja em nenhum momento ele tá voltando para zero e isso é meio ruim porque imagina o seguinte cenário você aperta D aí esse valor fica um e o jogador começa a ir pra direita beleza belezinha mas no instante que você solta a tecla D esse valor não volta a ser zero Ele continua sendo um Então por mais que esteja mais apitando a tecla no teclado o jogador Continuará se movimentando pra direita e a mesma coisa acontece se você apertar a tecla a esse valor
aqui ficará com menos um aí o jogador vai começar a ir para a esquerda e nunca mais vai parar Então a gente precisa de algum jeito dizer para godu que se não estivermos apertando nem a tecla da direita nem a da esquerda é para pegar esse valor aqui e deixar como zero E como é que a gente pode fazer isso galera no caso na aula que nós conferimos a condição wif Além de conferirmos A elif também conferimos a condição else que roda se nenhuma das anteriores acontecer então se a condição if verifica se a gente
tá indo pra direita eif verifica se a gente está apertando para ir pra esquerda logo abaixo a condição else verificaria exatamente o contrário disso aqui Então se a gente Não tá indo pra direita nem pra esquerda é porque a gente não tá com nenhuma tecla apertada e se a gente não tá com nenhuma tecla apertada a condição é o se roda e aí a gente pode zerar a nossa movimentação então para fazer isso a gente cria a condução else e dentro dela seessa variável direção do movimento no caso a gente quer o eixo X então
a gente coloca ponto x e dá o valor de zero e beleza belezinha galera é assim que a gente vai programar a movimentação Horizontal do nosso personagem no caso se a gente tentar jogar agora não vai funcionar mas já V mostrar né como é que funciona então a gente pode apertar cont control s para salvar o script e agora clicar no Play da Claquete aqui em cima com isso vai abrir a cena exclusiva do jogador ele tá aqui no cantinho ó então a gente pode apertar d e a isso aqui não vai acontecer na né
o jogador vai ficar parado e por que que isso aqui tá Acontecendo por um motivo muito simples na verdade é por dois mas vamos no passo a passo aqui primeiro motivo é que embora tenhamos criado a função movimentar jogador em nenhum momento ela é chamada então simplesmente não tem como todo esse código aqui rodar tanto é que para resolver esse probleminha basta chamar aqui na função process que é chamada uma vez por frame então movimentar jogador será chamado temp inteiro e para isso a gente pode remover A palavrinha p e chamar a função movimentar jogador
e beleza isso Teoricamente resolve o problema então vamos salvar apertando cont control s e clicar no Play da Claquete novamente Então beleza fizemos tudo certinho criamos uma função e chamamos ela porém temos um pequeno probleminha e no caso probleminha é que se a gente apertar d e a absolutamente nada acontece E por que que isso aqui tá acontecendo galera por um motivo muito simples no Caso o que vai alterar a movimentação do nosso jogador é uma propriedade chamada Velocity que lembra que a gente criou esse script com ele herdando características do Character B 2D Então
o que acontece é o seguinte sempre que a gente tem um objeto no caso um nó do tipo Character Bard 2D nós podemos movimentá-lo através do comandinho Velocity porque o Velocity vai dizer qual que é a posição x e y do nosso nó no caso ele faz isso através de um Vector 2 que é tipo a nossa variável aqui de direção do movimento Então esse Velocity só vai funcionar se estivermos aqui no B 2D Então o que a gente tem que fazer é passar a nossa direção do movimento para esse Porque como ele também é
um Vector do a gente pode simplesmente passar esse Vector do para ele e com isto tudo ficará resolvido então vamos fazer o seguinte ó vamos abaixar aqui um pouco o Nosso script para ficar mais legível e depois de todas essas condições a gente pode acessar o Velocity que é uma variável própria do Character b a gente não criou ela e dar como valor a variável direção do movemento e fazendo isso a gente está dizendo que é para ela identificar os eixos x e y que criamos no caso no momento só programamos o eixo X né
mas aqui a gente quer dar uma velocidade pro jogador né a Gente não quer que ele se movimente com um Piel né por segundo né então depois da direção do movimento a gente coloca o asterisco para multiplicar e agora sim a gente pode utizar a variável velocidade do jogador fazendo isso estamos dizendo que o Vector 2 do caror bar 2D é igual ao nosso Vector 2 de direção do movimento e no caso ele é sempre 1 ou menos um e quando a gente multiplica pela velocidade do jogador o que a gente tá Fazendo é pegando
esse 1 ao men1 e multiplicando por 400 que é esse valor então na velocidade horizontal né ou ele terá velocidade de 400 positivo ou de 400 negativo E é desse jeito que ele vai para a direita ou para a esquerda na velocidade desejada e galera isso aqui é bastante coisa de início Então se precisar pausa a aula reassisti ela ou deixa um comentário aí que eu estarei respondendo com toda alegria Então agora que a gente já definiu né Qual que é a Velocity do Character bo 2D a última coisa que precisamos fazer é na linha
de baixo digitar o comandinho chamado move and slide abre e fecha a parênteses e pronto o comandinho move and slide ele serve para dizer para godou ó eu quero que você pegue a a Velocity do Character B 2D e movimente ele baseado nela Então a gente Primeiro pega a direção que o jogador tá indo depois a gente diz que essa direção é a Velocity do Character B multiplicando pela velocidade né E aí a Gente pede para que o jogador se movimente porque se a gente não tivesse essa linha estaríamos sim alterando o valor de Velocity
mas ele não estaria sendo aplicado então quando estiver utilizando Car bar 2D não se esqueça de colocar move and slide no final depois de realizar todas essas operações aqui então agora sim depois de toda essa ópera vamos salvar o script apertando cont control s e clicar no Play da Claquete E agora se preparem vamos apertar D taran o mago vai pra direita vamos apertar a paran ele vai paraa esquerda e se a gente não aperta nenhuma das duas ele fica parado isso aqui acontece Ah que show de bola isso aqui acontece justamente porque quando a
gente tá indo pra direita o valor de x é de 1 e quando vai pra esquerda o valor de x é de -1 e aqui a gente tá multiplicando tudo por 400 né então fica 400 no x ou menos 400 e com isso o mago Vai ou volta né entre a direita e esquerda Então beleza galera programamos a movimentação hor horizontal foi um baita de um aprendizado galera então agora vamos partir para sua movimentação vertical que tem uma baita de uma pegadinha para quem tá mexendo na Godô a primeira vez mas é muito legal da
gente aprender também por isso que eu fiz questão de programar uma movimentação top Down aqui e não apenas horizontal Então galera aqui vai um outro desafio Para vocês quem já tiver uma ideia de como é que faz para programar a movimentação do y e não do X pode pausar a aula e fazer agora mesmo caso ainda não saiba está tudo bem pois faremos isso juntos agora mesmo nós basicamente estaremos fazendo a mesma coisa daqui ou seja estaremos acessando a posição y e dando valor de 1 ou menos dependendo da tecla apertada e se não tivermos
apertando nada daríamos o valor de zer só que vai ter uma pequena diferença que A gente já já vai conferir então ó a gente pode vir na linha de baixo deixando uma de espaço né para não deixar o código todo confuso e aqui podemos criar uma nova condição if acessando o input com e maiúsculo ponto is Action pressage para verificar se alguma ação foi pressionada e noo ação que queremos verificar é MV under cima e com isso estaremos verificando se a tecla w foi apertada se foi apertada significa que queremos Acessar a nossa variável de
direção do movimento ponto Y pois queremos acessar o seu eixo vertical e aqui daremos valores de men 1 E por que que a gente tá dando valores de -1 e não de 1 porque Teoricamente em um gráfico quando a gente vai para cima a gente vai no sentido positivo mas quando a gente vai para baixo a gente vai no sentido ne ativo Por que que aqui na Godô é ao contrário por um motivo muito simples ó vamos voltar aqui na AB Cine que ó o que Acontece é o seguinte todas as cenas na Godô Elas
começam no ponto superior esquerdo da tela então se a nossa janela tem 1280 pixels na horizontal e 720 na vertical o que acontece é que o canto superior esquerdo da tela é o ponto 00 então é 0 no x e Zero no Y então quando a gente vai para a esquerda no eixo horizontal né a gente tá aumentando de um em um então é 1 2 3 4 5 6 até 1280 porém como a gente já começa em o eixo positivo aqui no Y que seria zero Também quando a gente vai para baixo a gente
não tá diminuindo ele a gente está aumentando o eixo Y ou seja se a gente quer levar o jogador para baixo a gente deixa seu valor positivo que aí fica 0 1 2 3 4 5 6 até 720 já quando a gente quer ir para cima a gente deixa seu valor negativo aí ele vai decrement esse valor tanto é que ó se a gente pegar o nosso Sprite e acessarmos o seu Transform veremos que no momento ele tá de zer zer Mas se a gente trouxer ele pra direita Vai ver que fica positivo ó tá
520 mas se trouxermos para a esquerda como diminuir ó 146 E se a gente passar do ponto inicial fica negativo né fica 356 então isso aqui é no eixo horizontal já no eixo vertical ó se a gente Traz ele para baixo a gente movimenta num valor positivo ó tá 426 pixels positivos já se vai para cima a gente vai descontando esses pixels ó tá 126 e se passaro 0er fica negativo ó - 142 então ess uma coisinha meio confusa quando a Gente tá vendo tudo pela primeira vez porque a gente tá acostumado a aumentar quando
vai para cima e diminuir quando vai para baixo mas na em muitos outros programas acontece de maneira diferente né galera a gente diminui quando vai para cima e aumenta quando vai para baixo Então essa aqui é a pequena pegadinha Então vamos voltar aqui para o código ó quando a gente apertar para ir para cima a gente quer dar o valor de men um porque fazendo isso a Godô vai Diminuir a posição do jogador E com isso fará justamente com que ele vá para cima Então vamos agora identificar se a tecla para baixo foi apertada que
no caso é a tecla S então abaixo da condição if criaremos uma condição elif verificando input com i maiúsculo ponto is Action pressage e entre seus parênteses abriremos e fecharemos aspas duplas e colocaremos MV underline baixo e no final da linha dois pontos e Pulando pra linha de baixo e aqui o que queremos fazer é deixar a direção Y positiva Então a gente vai acessar a direção do movimento pon y e dar o valor de 1 positivo porque para cima é negativo e para baixo é positivo e agora temos que resolver o problema aqui da
movimentação horizontal então quando a gente não tiver apertando nem para cima nem para baixo queremos zerar a sua velocidade vertical então abaixo da condição elif Criaremos uma condição ELS que como roda se nenhuma das anteriores rodar não precisa de verificação aí aqui a gente simplesmente vai acessar a variável direção do movimento ponto y e dar o valor de zero e beleza belezinha a movimentação do jogador está 9 9% pronta e eu digo 99% porque falta um pequeno detalhezinho a gente já já confere mas olha só que legal fizemos o mesmo que fizemos aqui em cima
né aqui é a movimentação horizontal e aqui é a Vertical tanto é que a gente pode adicionar uns comentários ó aqui em cima a gente pode colocar um hashtag para adicionar um comentário e escrever movimentação horizontal e aqui a gente pode colocar um outro comentário dizendo movimentação vertical desse jeito Quando a gente voltar daqui um 2 3 dias ou 5 anos a Gente ainda vai saber o que esses códigos aqui fazem a gente até Pode colocar um outro comentário aqui em cima dizendo aplica as mudanças na direção na direção do jogador então aqui a gente
pega né os inputs e vai pegando as mudanças e aqui a gente aplica essas mudanças então a gente acessa o Velocity do Character Character bar 2D e usa o move and slide Então vamos salvar o Script apertando cont control s e agora sim clicar no Play da Claquete veremos que tá tudo funcionando mas com um pequeno probleminha ó se a gente aperta para a direita ou para a esquerda o mago se movimenta se a gente aperta para baixo ou para cima ele também se movimenta então aparentemente Tá tudo funcionando certinho porém temos um probleminha galera
que talvez você tenha percebido talvez não Mas se você movimentar para cima e para baixo quer Dizer se você movimentar para os lados ou para cima e para baixo ele faz isso na mesma velocidade né Mas e se você se movimentar na diagonal ou seja se movimentar para cima e para a direita ao mesmo tempo ou para baixo e para a direita para baixo e para a esquerda e por aí aí vai Vocês conseguem ver que quando a gente vai na diagonal se liga o nosso mago vai mais rápido isso aqui acontece porque trabalhar com
vetores dá um pouquinho de Dor de cabeça Justamente por isso aqui galera o nosso vetor ele tá pegando meio que a velocidade horizontal juntamente com a velocidade vertical e não tá aplicando 400 em ambas as direções né ele tá fazendo um cálculo tanto Pro X quanto pro y e é por isso que fica essa velocidade estranha se você quiser você pode sim deixar né o seu jogo fazendo com que o mago se movimente mais rápido na diagonal mas geralmente isso aqui é bug que dá naade não é bug é falta de Programação né então o
que a gente pode fazer para resolver esse probleminha é utilizar um comandinho mágico galera Ó a gente pode vir aqui nessa linha 33 pelo menos no meu código tá como 33 né se você tá fazendo tudo como estamos fazendo também tá nessa linha aqui iremos vir depois da variável direção no movimento e é depois mesmo bem colada nela sem espaço nem nada digitarem ponto e escreveremos normaliz abre e fecha parênteses e Pronto isso aqui é literalmente tudo que a gente tem que fazer porque o comandinho ponto normalized ele normaliza o nosso vetor O que significa
que agora não importa se a gente tá indo para cima para baixo pra esquerda pra direita o seu valor será sempre o mesmo e desse jeito quando a gente multiplicar por 400 ele não vai ficar com velocidades acima ou abaixo será sempre 400 Então é só isso se você tiver com esse problema é só normalizar o vetor Foi justamente por isso que eu quis criar essa variável de direção do movimento e Logo no início da aula porque a gente poderia assim simplesmente por exemplo pegar a velocidade do jogador e já colocar aqui ao invés do
um a gente poderia vir e colocar velocidade do jogador e aqui nem precisaria multiplicar né pela velocidade só que se a gente coloca como um a gente sabe que um multiplicado por qualquer valor que esteja aqui será Sempre esse valor então você pode fazer sem a variável direção do movimento acessando diretamente o Velocity mas é recomendado ter uma variável separada justamente para que você possa normaliza Então vamos salvar o scrt apertando Ctrl s e testar aqui olha só que legal podemos ir pra direita e pra esquerda para baixo e para cima mas agora ele não
se movimenta mais rápido quando vai na diagonal show de bola Galera Então temos aqui o nosso mago funcionando mas a gente tá testando ele na cena dele né Vamos testar ele na cena do jogo galera que a gente configurou como a cena principal né então se a gente clicar neste primeiro Play aqui veremos que ele está aqui e nossa programação continua funcionando porque esse lance né de cenas na Godô é bem da hora ó a gente programou a cena do jogador o script do jogador tá na cena Do jogador mas como a gente importa aqui
pra cena do jogo olha ele vem junto a gente pode ver aqui na bacine que a cena do jogador vem com o script que se a gente clicar nele ele vai abrir o script que a gente acabou de criar então quando a gente roda a cena do jogo Ele carrega a cena do jogador e juntamente o seu script Então beleza galera esse aqui é o nosso curso Começando na Godo Mais especificamente na versão 4 aqui a gente está utilizando a 4.1.2 mas no no futuro tudo isso aqui deve continuar muito válido né dificilmente tem alguma
mudança que quebra tudo na versão 3 para 4 tiveram algumas mudanças significativas mas agora eu acho que vai dar uma calmada e esses vídeos continuaram válidos por muito tempo então temos aqui tudo funcionando certinho meu Meus parabéns por ter cheg até aqui foram 19 aulas algumas curtinhas outras longuinhos que valeu a pena porque se Foi a primeira vez que você começou a mexer na Godô ou até mesmo a primeira vez começou a programar jogos Tenho certeza absoluta que você aprendeu bastante coisa à maneira e que o mais importante de tudo este conhecimento não fica preso
a Godô galera sim grande parte da programação né como Car B ou variáveis de vetores Isso aqui é uma coisa que você pode usar em um programa ou outro mas é mais específico deles mesmos mas a toda a teoria que a gente Estudou né de variáveis operadores aritméticos relacionais e lógicos funções condições Loops toda essa teoria que a gente estudou é aplicável a qualquer linguagem de programação literalmente talvez mude a sintaxe né o modo como você escreve as variáveis e as funções mude uma coisa aqui uma coisa ali mas a lógica é a mesma por
isso que eu fiz questão de ensinar toda a teoria antes da gente partir pra prática galera porque agora vocês podem continuar Mexendo na Godô ou partir para outro programa que a lógica continua sendo a mesma e vocês já saberão O que estão fazendo então vou só deletar aqui e um detalhezinho final né que aqui no final do nosso script a gente sempre deixa uma linha vazia é uma coisinha que é um detalhezinho que deixa o código mais bonito né em invés dele acabar abruptamente aqui sempre tem uma linhazinha no final então o nosso código De
movimentação do personagem tem 35 linhas Tá super compacto isso aqui tá muito show de bola Então galera este aqui foi o nosso curso espero que vocês tenham gostado agradeço imensamente a companhia de todos vocês e lembrando rapidamente que além desse curso gratuito que temos no canal onde a gente Confere o básico da Godô Nós também temos um curso na udem super acessível e de qualidade top onde a gente cria um jogo do começo ao fim então é realmente Do zero baixando e instalando o programa até exportando ele no arquivo final é realmente muito da hora
o joginho que a gente cria é um joguinho que dá para desenvolver de boa como primeiro jogo mas que ao mesmo tempo dá para aprender bastante coisa link na descrição e no comentário fixado e também gostaria de agradecer a Alice Matoso por apoiar a nossa campanha de financiamento coletivo no apoia-se permitindo Assim possamos produzir mais cursos e tutoriais Gratuitos como este aqui no YouTube então Muito obrigado a todos muito obrigado Alice e nos vemos num próximo vídeo fui sejam muito bem-vindos ao treino do curso crie o seu primeiro jogo na Godô usando GD script eu
sou Gabriel do canal desenvolvendo jogos seu professor e nesse curso Vamos aprender a criar um jogo do zero até o final criando o seu personagem programando sua movimentação e suas animações também aprenderemos Como trabalhar com os famosos signals e groups para identificar como criar e programar um sistema de spa infinito e aleatório para os objetos do jogo como inserir músicas e efeitos sonoros como criar um game over trabalhar com a interface de usuário e muito mais exportando o jogo no final para jogá-lo fora da Godô e esse é um curso voltado para iniciantes ou seja
todas as aulas foram planejadas e gravadas dando o máximo de atenção aos Detalhes utilizando slides para compreendermos conceitos mais abstratos como variáveis condições e arrays e faremos tudo isso utilizando a Godô e a linguagem de programação GD script que vem ganhando cada vez mais espaço e ficando ainda mais popular e este curso conta com mais de 8 horas de conteúdo divididas em 38 aulas muito bem Preparadas espero que se divirta bastante com o curso e aprenda diversas coisas novas então nos vemos nas Aulas