Bem-vindo de volta meus colegas desenvolvedores de jogos
em um novo vídeo.
E neste, pegamos
algumas moedas, somos atingidos.
Então nossa vida é 200 sobre 300.
Mas, felizmente, temos essa saúde aqui para que eu possa
comprar um par de saúde e melhorar minha saúde,
mas nem tudo funciona.
Então você pode ver aqui
porque isso é algo diferente.
Isso não é meio upgrade,
quero dizer, um item de restauração de saúde.
Este é, e eu compro.
Mas finalmente você pode ver que eu tenho 0 quantias de dinheiro.
Então, se eu tentar comprar mais, infelizmente,
não posso culpar a economia,
culpar quem você quiser.
Não vamos perder mais tempo.
Vamos começar.
Oh, caso.
Então, agora é hora de começar a comprar os itens.
E a primeira coisa que queremos fazer
é que esses textos
aqui apareçam quando o jogador está parado
dentro do colisor de caixa aqui.
E se ele estiver do lado de fora daquele colisor de caixa,
não queremos ver o texto e não podemos comprar.
Então, a primeira coisa que vamos fazer
é acho que quero aumentar isso um pouco.
Então, vamos tornar o tamanho um pouco maior com isso.
Opa.
Um segundo. Aumente os coliders de caixa por todos os lados,
faça-os um pouco maiores e talvez até faça
o colisor de caixa que não é um gatilho,
que é este,
e talvez apenas tenha coberto
toda a superfície disso, seja lá o que for,
plataforma com um pouco mais verde plus,
e de qualquer forma, com isso,
fora do caminho, vou fazer isso
fora da tela é muito fácil, nada demais.
E sempre volta para você quão grande,
quão pequeno você quer torná-lo.
Mas há algo que não depende de
você e esse é o desafio hoje.
Queremos que o texto apareça quando chegarmos perto.
Portanto, obtenha uma referência ao texto do byte.
Use o empreendedor entrar e sair para definir
o texto ativo como verdadeiro e falso, respectivamente.
E também crie um bool que verifica verdadeiro quando o jogador
está nos jogadores e falso quando ele está fora dele.
Então, embora a maneira como pause o vídeo
agora e vá chegar a raso.
O K. Bem-vindo de volta.
Então eu estava terminando com essas primeiras coisas que vou fazer
é selecionar esses três itens e torná-los os pickups?
Sim. Faça as crianças também pickups.
Então agora vamos abrir os itens da loja,
um roteiro, acredito que ele está abrindo aqui,
e vamos parar.
Então, antes de tudo, vou criar
uma tia açúcar entrar e sair.
Então por diante, Trigger Enter 2D e no açúcar saia 2D.
Agora precisamos de uma referência à mensagem de adeus.
Então, aqui vou criar
um campo serializado do tipo texto Mesh Pro.
Ou você sabe, o que talvez o que podemos fazer é
ir em frente e simplesmente mudar os itens inteiros.
Ou o que quero dizer é desligar
a tela inteira e ligá-la.
Então, pegamos toda a tela,
podemos ativá-la e desligá-la.
Então, talvez essa seja a melhor maneira
criar uma referência à tela.
E aqui, podemos criar uma referência a um objeto de jogo.
Isso realmente não importa.
Mas, em qualquer caso, a mensagem Canvas,
vamos chamar isso de mensagem Canvas.
E agora, quando entramos,
porque só temos a coleta e as pickups
de coleta só interagem com os jogadores
disso não será um problema.
Então, aqui, a mensagem de adeus,
fora, desculpe, tchau mensagem.
Ainda estou pensando em uma variável diferente.
Portanto, o ponto de mensagem do Canvas definido
ativo ou ponto de objeto de jogo de ponto definido ativo, true.
E depois vou duplicá-lo.
E aqui, quando sairmos,
é falso. Salve isso.
Então também precisamos de uma variável que será
um bool privado em por zona.
E aqui vamos dizer que em por Zona é igual
verdadeiro e por zona é igual a falso.
E talvez nós o instanciamos bem aqui como falso.
Então, começamos com false.
Não queremos poder comprar
quando estamos muito longe.
Certo, ótimo com isso fora do caminho.
Vamos entrar aqui.
E vamos selecionar essas três telas.
Então 123, desligue-os,
corra o jogo, caminhe em direção a ele. Lá vamos nós.
Nada acontece, obviamente porque
esquecemos de fazer o mais importante,
que é a atribuição da tela.
Então, atribuímos a tela a cada
um daqueles que executam o jogo.
E agora deveríamos ter corrigido nosso problema Qualquer dia agora.
Então descemos. Lá vamos nós.
Pressionamos E para comprar preço 99 moeda,
preço 99 moeda e priceline.com. Certo, ótimo.
Então, agora ele desliga, ele liga.
E, obviamente, o bi também deve funcionar.
Temos um erro que é algo.
Presente e a versão atual do Unity.
Obrigado Unity por esta atualização muito ruim.
De qualquer forma, vamos continuar.
Agora há algo a ser levado em consideração.
Temos os três tipos de itens que podemos
comprar. Isso é bom.
Ok, então podemos, por exemplo,
dizer que se este item é assim por diante e assim por diante, nós o fazemos,
então há algo melhor que eu quero ensinar a
vocês neste vídeo e isso é chamado de interior.
Não vou entrar nos slides porque
é bem simples de entender.
Podemos criar um enum.
Vai ser o tipo de item.
E podemos abrir os suportes
aqui e dizer que um deles é
a restauração da saúde, saúde, restauração.
O segundo é o grau de saúde
e o último é uma arma.
Então, o que é o tipo de item enum basicamente,
em seus termos mais simples,
nos permite criar um novo tipo de variável.
Assim como temos o booleano,
a tela e assim por diante,
também podemos criar um enum,
que é o tipo de item.
E agora podemos criar uma variável aqui,
que é um campo serializado de tipo, tipo de
item e é o tipo de item real.
Lá vamos nós. Então, como você pode ver,
o enum tem maiúscula primeira letra e em cada palavra,
enquanto a variável não está em maiúsculas,
ela está em minúsculas.
Então, se salvarmos isso e voltarmos ao nosso jogo,
veja como isso será legal.
Se eu escolher o tipo de item,
deixe-me fechar os colliders de caixa.
Você pode ver que eu tenho
um menu suspenso e posso escolher um desses itens.
E isso é algo muito bom.
E isso é um upgrade da seção anterior, onde
cada um dos inimigos tinha
sua própria caixa para tomar e assim por diante.
E você tem que desmarcar algo para pegar outra coisa.
Isso aqui é uma maneira muito melhor,
uma maneira muito mais suave.
Então este será o meio upgrade e
o último será a arma.
Ótimo. Então, agora temos
o tipo de item do qual podemos escolher ir.
Mas há mais uma coisa que precisamos adicionar aqui,
e esse é o custo do item.
Então campo serializado e o custo do item,
mas isso não é o que eu estava.
Eu queria me concentrar em eu queria focar em
algo chamado instrução switch.
Mas antes de fazer isso aqui,
vou criar a atualização.
E vou verificar se sou inveja por zona.
Então vou verificar se temos ponto de entrada, obter keydown,
abrir isso, código de chave,
ponto de código de chave e. E
aqui o que podemos fazer é, por exemplo,
podemos começar a criar se,
digamos que o item digite ponto algo e o que quer que seja,
e comece a verificar
os itens e comprar com base nisso.
Mas temos, neste caso,
algo muito mais poderoso.
E essa é a caixa do switch.
Então, deixe-me mostrar o que é essa caixa de troca.
Assim, semelhante às instruções if,
ela nos permite a execução de código condicional.
Se tivermos um determinado tipo de item,
queremos chamar algo diferente.
Se quisermos ter a saúde atualizada,
devemos chamar um método diferente
daquele em que compramos uma arma.
Portanto, a instrução switch
será muito eficaz aqui.
E assim como a instrução if,
ela funciona da mesma forma que temos execução de código condicional,
mas é estruturada como um pouco diferente e
mais eficiente quando se trata de coisas como essas.
Então, começamos escrevendo o interruptor.
Adicionamos o interruptor da caixa.
Então aqui isso pode ser o que quisermos.
No nosso caso, será o tipo de item
que temos. No caso de um.
Por exemplo, digamos que o tipo de item seja uma atualização de integridade.
Então, no caso 1,
um aqui diz, por exemplo, atualização de saúde.
Executamos algum código que quebramos.
Isso é muito importante e depois vamos para o segundo caso.
O segundo caso, digamos que seja a arma.
Em seguida, executamos algum código diferente,
quebramos e, em seguida, verificamos o padrão.
Agora, obviamente, você pode adicionar
quantos casos você deseja 123,
1520, 500 se quiser.
Mas, eventualmente, teremos que
obter algum tipo de coisa padrão.
Então, o que acontece se não tivermos um tipo de item?
Isso é algo que não acontecerá,
mas caso não haja tipo de item,
precisamos ter uma quebra padrão e
seguida, terminamos as instruções switch.
Portanto, certifique-se de entender isso.
Vamos ver a implementação e apenas um pouco,
mas basta olhar para a estrutura.
Então, sem Olha o que é.
E vamos voltar ao nosso código e implementar isso.
Antes de criarmos essa declaração de switch,
precisamos saber se realmente temos dinheiro para isso.
Então, antes de tudo, vamos verificar se
o ponto da instância de ponto do gerenciador de jogos.
Deixe-me ver.
Temos acesso ao curso atual? Não, nós não temos.
Então, vamos criar um int público.
E obtenha moedas de bits atuais.
E isso apenas retornará Bitcoins atuais.
Salve isso, volte e ouça o ponto da instância
obter bitcoins atuais.
E se tivermos mais ou pelo menos igual a, então,
se tivermos mais ou pelo menos igual ao custo do item,
podemos continuar.
E assim que comprarmos o item,
vamos para o gerenciador de jogos,
instância de ponto, ponto, gastar moedas.
E a quantidade de moedas que vamos gastar
conforme o custo do item.
Mas então o que acontecerá depois de gastarmos nossa moeda,
devemos obter um item.
Então, vamos criar o switch.
E aqui vamos dizer o tipo de item.
Então este é o caso em torno do qual estamos trocando.
E agora vamos abrir isso.
Então, no caso de termos o tipo de item
dot health restore e
isso não está me permitindo oh, não, não é.
O tipo de item pequeno é o tipo
de item grande restauração de integridade do ponto.
Colocamos os dois pontos, apertamos Enter.
Aqui vamos,
enquanto aqui podemos encontrar objetos do
tipo e será o manipulador de saúde do jogador.
E então podemos entrar aqui.
E o que não declaramos
que o manipulador de saúde prejudica o jogador.
Ok, então na HP para o jogador,
HP para o jogador.
E quanto queremos adicionar?
Bem, podemos escolher aqui se 10 ou 20 ou
qualquer valor que você queira adicionar, salve isso.
Brake tinha isso e lá vamos nós, salve isso.
Então eu fiz uma pausa lá por um segundo porque não tinha
certeza se deveríamos usar o objeto de arquivo
do tipo ou se você quiser ainda melhor,
criar uma variável aqui para o player.
Então, uma variável privada para
a camada e, em seguida, defini-la aqui e a colisão,
isso seria mais inteligente e mais econômico
porque sabemos que
apenas o jogador pode ser
a colisão aqui por causa
da camada que nos sentamos.
E encontrar objeto do tipo às vezes é um pouco complicado.
É, é preciso muito espaço do processamento, muito, muito
poder de processamento porque
objeto fino do tipo passa
por toda a lista em
sua cena e depois escolhe um deles.
Então, depende de você.
O que quer que você queira fazer realmente depende de você.
Então, onde temos o item aqui?
Então, vamos escolher o primeiro.
Esse é o custo para 20.
Ou sabe o quê? Vamos apenas mantê-lo às 10.
E isso restaurará um pouco de Saúde.
E vou para os Prefabs.
E aqui vou adicionar os picos.
Então, ou são os pickups?
Vamos adicionar um pouco de moeda e aqui, 23 moedas.
Então, temos dinheiro para gastar.
E então entraremos nos Prefabs novamente e adicionaremos a.
Onde está?
Onde está isso? Onde está isso?
Objeto nivelado nos picos aqui. Execute o jogo.
Então eu quero ser atingido pelos picos.
Certo? Pegue alguns cones,
vá até aqui e estamos visitando. Então lá vamos nós.
Nós pressionamos o Iike.
Sim, lá vamos nós. Nós ficamos bronzeados, bronzeados, bronzeados.
E se eu tentasse comprar mais, lá vai você.
Temos 0, então não posso mais comprar nada.
Lá vamos nós, tão ótimo.
Isso parece estar funcionando.
No próximo vídeo, usaremos a atualização de integridade
criará um método separado e o manipulador de saúde.
E como eu disse, e a propósito,
esse erro continua aparecendo.
Não se preocupe com isso. Como eu disse aqui,
o objeto fino do tipo algo que eu não gosto
particularmente, não gosto de usar o
objeto definido de pipe remonta a você.
Eu realmente espero que você tente
criar sua própria variável, defina-a aqui.
Com isso dito, espero que você goste.
Espero que você esteja salvando tudo,
cantando todos os seus arquivos,
e eu te vejo no próximo vídeo.