Bem-vindo de volta, meus colegas desenvolvedores de jogos.
Como você pode ver, criamos alguns picos aqui.
Então, agora, quando temos essas motos,
se eu ficar sobre elas, lá vamos nós.
Eu fico danificado. E se eu ficar de pé e voltar,
não fico danificado.
E se eu ficar de pé, fico danificado.
Mas agora, porque ainda sou invencível,
fico danificado novamente.
Se eu continuar aqui,
então eu poderia morrer,
vou embora um pouco
e não vamos perder mais tempo.
E vamos começar.
Oh, ok, então vamos começar a criar um pico.
E eu já criei os picos e tudo mais.
Agora, isso é algo que eu não gosto de fazer.
Eu não gosto de fazer as coisas fora da tela e depois dizer,
mas como eu queria ter certeza de que
este vídeo é o mais eficiente possível,
é um longo e algumas coisas precisarão ser explicadas.
Então, por esse motivo,
criei todas as animações e assim por diante.
Vou te dar um passeio rápido.
Então, o que eu fiz, escolhi uma dessas
três armadilhas aqui.
Voltei ao jogo.
Selecionei os sprites,
tenho certeza de que são 32 múltiplos,
certifiquei-me de editar o sprite e cortei 32 por 32,
fiz o filtro e assim por diante.
Então fui em frente e criei essa armadilha de espigões,
que tem um renderizador sprite.
Um animador chegará a isso e
um colisor de caixa que está ao redor dele,
o que também é um gatilho porque queremos
que o jogador passe por cima dele.
Certo?
Agora também criei uma animação para o pico.
Um está ocioso, um está estourando,
então o ocioso fica lá, não faz nada.
Essa será a animação padrão.
E então temos os picos estourando,
que está aqui.
Você verá que eu criei um para estourar este particular.
Então lá vai você. Você pode ver,
e por que eu deixaria um pouco lento?
Eu só queria dar uma chance ao jogador
pensar duas vezes antes de pisar lá novamente.
Portanto, não tem nada a ver com
o jogador quer que o jogador
pare e ele começa a ser acionado.
E então ele tem alguns quadros.
Pode mover isso aqui.
Ele tem alguns quadros para perceber
seu erro e depois tentar fugir dele.
Com isso fora do caminho,
vamos falar sobre o animador e o que fizemos aqui.
Então eu criei o ival,
fiz dele o estado de camada padrão
e criei as duas transições,
uma indo 21, indo de.
Também criei um parâmetro aqui que
é um booleano para os picos de BOP.
E uma vez que os picos pop são verdadeiros,
então vamos de ocioso a picos Pops.
Não temos nenhuma duração de transição,
não temos nenhum tempo de saída.
Mas quando estamos voltando do bopping,
temos um tempo de saída que é
cerca de 90% da animação.
Podemos até aumentá-lo para um talvez até
terminarmos a animação inteira e depois voltarmos.
Eu prefiro fazer isso 0,57.
Mas, por algum motivo, quando eu defini para isso,
a animação aqui desaparece.
Estou realmente confuso por que isso está acontecendo.
Eu não gosto disso.
Então 92 talvez em 1906.
1907 só faz tudo desaparecer,
o que é extremamente irritante.
E não faço ideia por que isso está acontecendo.
Mas, de qualquer forma, temos um tempo de saída
que é 96% da animação.
Então voltamos. Bem, isso fora do caminho,
se você fizer um, pause o vídeo agora mesmo,
vá fazer tudo por isso.
Crie todas as animações e assim por diante.
Como vou seguir em frente e começar
nos scripts criando um,
vamos chamar essa pasta de armadilhas.
Talvez você queira criar várias armadilhas.
E aqui vou criar os picos.
Então clique com o botão direito do mouse, crie o C-sharp,
e vamos fazer com que os picos pressionem Enter,
selecione a armadilha de pico.
E vou arrastar esses parques aqui.
Agora vou clicar duas vezes e
abri-lo e Visual Studio.
Agora, antes de continuarmos,
deixe-me explicar qual
é a ideia principal ou como esse pico vai funcionar.
Porque em um pouco vou lançar o desafio
e quero que você saiba como o pico funcionará.
Então o jogador está andando por aí,
enquanto o jogador, ele não joga, está andando por aí.
Então, de repente, enquanto os picos estão escondidos, escondidos,
ele caminha sobre os picos e eles começam a aparecer.
Então, quando eles o atingirem,
o que queremos é que queremos
a animação tenha algum tipo de sistema de
eventos e esse sistema de eventos danificará a lâmina.
Então, vamos precisar que a
variável de quantidade de dano terá que obter
uma referência a essa camada e temos
que adicionar um evento aqui que irá danificá-lo.
Também queremos ter certeza de que, se
o jogador ainda estiver de pé nos picos,
queremos continuar danificando-o.
Não seja apenas danificado
uma vez e depois pule de pé aqui e não sinta nada.
Também queremos ter certeza de que quando o jogador
ativar os picos, ele vai embora.
Não queremos que ele continue sendo danificado porque enquanto
a animação dos picos está
funcionando e o sistema de eventos ainda será acionado,
ou você verá como tudo está
funcionando quando realmente criamos isso.
Mas até lá, vou lançar um desafio
para danificar a camada profunda com picos.
Então, antes de tudo, crie uma variável para o dano e
o jogador que devemos danificar
precisará criar o empreendedor Enter.
Você precisará iniciar a animação
e garantir que ela pare.
Portanto, certifique-se de que ele pare significa que podemos
precisar e na saída do açúcar.
Então você precisará danificar
o jogador usando o sistema de eventos.
E finalmente, eu só quero que você
pense no que deve acontecer se
o borrão permanecer nos picos e depois sair.
Então, com isso fora do caminho,
pause o vídeo agora mesmo e vá fazer o desafio.
Certo, bem-vindo de volta.
Então, de volta ao nosso script aqui, vamos obter, em
primeiro lugar,
um campo serializado que será do
tipo inteiro e a quantidade de dano.
Então, vamos criar um vazio privado.
E não há desculpa, nem um vazio privado,
um colisor privado 2D,
e este será o jogador a danificar.
Salve isso.
Agora vou remover o início e a
atualização se precisarmos deles mais tarde, podemos adicioná-los.
É bem simples.
Vou criar o On Trigger Enter para D.
Vou verificar se esta
tag collision.com é a camada.
Se for, então vou pegar o componente que
é a porta principal final.
E vou seguir em frente e definir o bool,
que será a letra
porque esta é uma referência de string.
Vamos pegar essas motos.
Bob spikes, copie isso.
E de volta aqui.
E vamos definir esse pops.
Bicicletas, salve isso.
E então criaremos um método
aqui que será danificar o jogador,
que é uma camada de dano vazio público.
E também precisamos definir isso como verdadeiro.
Salve isso.
Então, vamos danificar o jogador.
O que devemos fazer aqui?
Vamos apenas fazer com que o jogador danifique o
componente dot get,
o manipulador de saúde do jogador.
E vamos avançar e
danificar a camada com a quantidade de dano.
E antes de esquecermos,
como vamos ter acesso a
esse dano de camada quando o jogador entrar aqui?
Qual é o problema aqui?
Quantidade de doadores não existe.
Oh, desculpe.
Quantidade de dano.
Onde recebi a quantidade de dano?
Nem tenho certeza de qualquer forma, aqui,
o jogador a danificar
será igual à colisão.
Lá vamos nós.
Então, no Trigger Enter,
verificamos, é o jogador?
Sim, começamos a animação pop spikes.
Em seguida, colocamos o jogador para
danificar como a colisão porque ela é declarada,
sabemos que, em seguida, vamos danificar o jogador.
E, finalmente, vamos voltar aqui.
Qual é o problema?
Certo? Nada de animação e
vamos selecionar na cena.
Então lá vai você.
Podemos ver que ele começa, então nada acontece.
E alguns segundos esperamos e depois reservamos aqui,
vou adicionar o evento
e vou selecionar para danificar o jogador.
Vamos salvar isso para executar o jogo.
E veremos aqui que temos uma vida
de 600 quando eu parar nessas motos.
Sim. Lá vamos nós.
Isso nos prejudica.
Isso não nos prejudica porque se eu voltar aos picos,
não teremos nada a danificar.
Vamos defini-lo como 100 por enquanto, porque a vida é 600.
Então eu acho que ele pode dar alguns hits.
Então agora temos os picos.
Sim, lá vamos nós.
Você pode ver que ele remove 100 todas as vezes.
E como temos essa
invencibilidade por alguns segundos,
a segunda dica não afeta a camada.
Mas o problema é
você pode ver que ele continua
jogando e eu continuo sendo danificado.
Então o jogador morreu mesmo estando do lado
fora do perímetro das faíscas.
Então, o que deveríamos fazer é antes de tudo,
precisamos parar a animação On Trigger exit 2D.
E aqui, vou fazer a
mesma coisa que fiz aqui.
Verifique o jogador.
E se for o jogador que acabou de sair da colisão,
vamos definir isso como False,
salvar isso de volta em nosso jogo.
E lá vamos nós e executamos o jogo.
Então, agora entramos aqui,
ficamos danificados, saímos.
Lá vamos nós.
Podemos ver que a animação pára,
mas há algo quando eu paro e volto,
você pode ver que, mesmo estando lá fora, então recue.
Ainda estou sendo danificado.
Por quê? Porque a animação aqui ainda está sendo reproduzida.
O sistema de eventos ainda está sendo
acionado e sabemos o que é o jogador.
Então, para evitar isso,
vou criar um bool público.
E este bool público só para que possamos vê-lo no
inspetor vai mais tarde defini-lo para privado.
E eu vou chamar isso
dar jogador ou dano ao jogador,
ou não devo danificar o jogador,
acredito que seja um nome melhor para isso.
Os verbos devem danificar o jogador.
E uma vez que ele está dentro,
então o jogador deve danificar é igual a verdadeiro.
Quando ele está fora, o jogador deve danificar é falso.
E então, dentro do método do jogador de dano,
vou verificar se devemos gerenciar o jogador.
Em seguida, vamos ir em frente e
acessar o manipulador de saúde do jogador e danificar o jogador.
Então, agora de volta ao nosso jogo,
devemos ver que quando eu executar o jogo,
não devemos danificar o jogador.
Quando eu entrar aqui, devemos
danificar o jogador, ficamos danificados.
Mas se eu ativei e depois vou lá fora, lá vai você.
Você pode ver que isso deve danificar o livro do jogador, livro.
Lá vamos nós.
Você pode ver que eu não sou mais afetado.
Então, espero que você tenha gostado deste vídeo.
Espero que você tenha gostado desta seção.
Espero que você esteja sempre preparando seus arquivos,
confirmando suas alterações, criando revisões.
E então, na próxima seção, veremos
onde essa jornada nos leva.
Então vou seguir em frente e dizer
aqui que criei picos,
essa camada de dano, cometi as alterações.
E eu posso ver aqui e
os mestres como nosso jogo está se movendo.
Veja o quanto fizemos,
e veja o quanto ainda temos que fazer.
Este jogo está apenas começando, então eu não posso esperar.
Não vamos perder mais tempo e te vejo
no próximo vídeo.