‫Olá e bem-vindo.
‫Nesta palestra, vamos restringir a quantidade de munição que temos para que, uma vez que
‫tenhamos usado tudo, não possamos mais gerar projéteis.
‫Estou sem projéteis e estou até recebendo uma mensagem dizendo que estou sem munição.
‫Eu não posso gerar mais.
‫Então vamos mergulhar e ver como fazemos isso.
‫Então, idealmente, o que queremos que aconteça é quando a munição chega a zero, não podemos mais gerar
‫novos projéteis.
‫Mas como controlamos o fluxo de nosso código por meio de valores em nossas variáveis?
‫Bem, a solução para este enigma é algo chamado nó de ramificação.
‫Então ramos, letras, verifique se algo é verdadeiro ou não, e então faça algo baseado no resultado.
‫Então você pode ter um nó de ramificação que se parece com isso que diz Se estou com fome, então a condição é
‫que estou com fome, então coma junk food enquanto a esposa não está assistindo.
‫E se isso não for verdade, continue jogando videogame.
‫Portanto, esses nós de ramificação nos permitem fazer uma coisa se uma condição for verdadeira e outra se for
‫falsa.
‫Qualquer uma dessas opções não poderia fazer nada.
‫Portanto, você só pode conectar o nó falso ou só pode conectar o nó verdadeiro.
‫Qualquer um destes vai funcionar.
‫Então você vai se lembrar disso.
‫Ou você pode se lembrar que a cor vermelha estava associada a variáveis do tipo booleano em unreal.
‫Então, vamos nos lembrar o que é um bool?
‫Um bool é a abreviação de boolean e existem tipos que podem armazenar um de dois valores verdadeiro ou falso,
‫sim ou não.
‫Eles são frequentemente usados com instruções if ou branches.
‫Então, no futuro, vamos em C++, vamos chamar branches if.
‫Mas é a mesma coisa?
‫É o mesmo conceito.
‫E eles podem controlar se algo acontece ou não e certos nós podem retornar booleanos.
‫Então, que tipo de nós poderia retornar booleanos?
‫Que tipo de resposta queremos?
‫Bem, quando é que queremos permitir que o ator de desova aconteça?
‫Quando queremos que um novo projétil seja criado?
‫Só queremos que um novo projétil seja criado se a quantidade de munição que temos for maior que zero.
‫Felizmente, se você clicar com o botão direito do mouse no gráfico de eventos e procurar por maior, haverá um nó para
‫isso.
‫Esses tipos de operadores ou nós são chamados de comparação porque eles pegam dois valores e criam uma comparação
‫entre eles e nos permitem ter uma resposta booleana.
‫Portanto, maior é um exemplo, menor é outro exemplo.
‫Você também pode ver isso menos igual, o que significa que é menor ou igual.
‫Há também igual que é não é um bem igual ou não igual.
‫Se dois valores forem iguais, então retorne true.
‫Caso contrário, retorne falso.
‫Então vamos atualizar um pouco nosso glossário.
‫Nós descobrimos que um branch é um fazer algo ou não baseado em um touro.
‫Descobrimos que touros ou booleanos são um tipo de dados sim, não, e essa comparação é coisas
‫como menor que maior que igual etc. que retornam crucialmente um booleano.
‫Então, vamos tentar usar uma dessas comparações.
‫Vou clicar com o botão direito e adicionar a comparação maior aqui.
‫Então eu vou controlar, clicar na variável de munição e arrastá-la para o primeiro nó do nosso nó de
‫comparação.
‫E então você pode ver que o padrão aqui é realmente maior que zero.
‫Então é exatamente isso que queremos.
‫Temos um nó que diz É a munição maior que zero e o valor de retorno é um booleano dizendo sim se
‫for e não se não for.
‫Então, o que queremos fazer é pegar esse valor de retorno bool, arrastar e procurar por branch.
‫Em seguida, podemos adicionar um nó de ramificação e ele conecta automaticamente a condição de entrada ao booleano
‫que estávamos arrastando.
‫Agora vou arrastar de volta meu evento da barra de espaço e arrastar seu pino de execução do nó pressionado para a entrada
‫da ramificação.
‫Então isso vai executar nosso branch.
‫Então queremos que o galho, se for verdade, vá em frente e gere o projétil, caso contrário não
‫fará nada.
‫Então vamos tentar isso.
‫Se apertarmos o play e gerarmos muitos projéteis, fazemos com que o valor do projétil caia para zero.
‫Você pode ver que agora, não importa o quanto eu aperte a barra de espaço, não estou recebendo mais projéteis.
‫Então eu gostaria de desafiá-lo a imprimir sem munição.
‫Portanto, use a ramificação falsa para adicionarmos um nó de impressão lá.
‫E basicamente quando estamos sem munição, eu gostaria que você imprimisse sem munição.
‫Então teste seu código e verifique se isso está acontecendo.
‫Pause o vídeo e vá em frente.
‫OK.
‫Bem vindo de volta.
‫Então nós temos este segundo branch do nosso branch node.
‫Vamos apenas arrastar isso de volta para que nossas linhas não se cruzem com esses pinos de execução.
‫E o ramo falso deve descer até aqui onde vai fazer uma string de impressão.
‫E a string que eu quero imprimir vai ficar sem munição.
‫Agora, se continuarmos jogando e disparando todas as 20 balas de munição de canhão, você pode ver que cada vez que eu
‫aperto a barra de espaço, ela apenas imprime a mensagem de que estou sem munição, dando ao jogador a
‫indicação do motivo. não há mais bolas surgindo na cena.
‫Isso é tudo para esta palestra.
‫Vejo você na próxima.