Bem-vindo de volta, Meus desenvolvedores de jogos favoritos.
Neste vídeo, na verdade
vamos atacar corpo a corpo.
Então, a maneira como vamos fazer isso é
que vamos criar um método para o ataque.
E aqui vamos criar
um círculo de sobreposição em torno de um determinado ponto.
Vamos nos certificar de chamar
esse sistema de defesa toda vez que balançarmos uma espada.
Então, sem mais ou fazer,
deixe-me mostrar o que fizemos aqui.
Então o inimigo se levanta.
Ele faz uma vez, dano duas, três vezes,
e você percebe que ele só nos danifica quando realmente somos
atingidos na cabeça com a espada.
Então, não vamos perder mais tempo.
E vamos começar.
O k.
Então agora vamos em frente e criar o ataque malaio.
Obviamente, agora,
o chefe balança ao redor do que se foi,
quero dizer, desculpe a espada.
Ele balança por aí, mas ele
não causa nenhum dano.
Então, vamos causar um dano real.
Então, vou antes de tudo
explicar a você como fazer um ataque.
Então, obviamente, existem muitas,
muitas maneiras de criar ataques corpo a corpo,
mas é assim que vamos
implementá-lo.
Desculpe por isso.
E é a maneira que aprenderemos mais com isso.
Então, a primeira coisa que faremos é criar um círculo de
dano para o jogador a partir de uma determinada posição.
Assim, toda vez que o tipo de jogador
estiver nessa posição na animação,
criaremos um círculo aqui,
ou um círculo sobreposto,
que você saberá mais tarde que verificaremos
se o jogador está dentro o raio do círculo,
ele será danificado.
Se ele não for, se ele fugir a tempo,
você não será danificado.
Então, vamos nos certificar de que usaremos algo chamado
círculo de sobreposição 2D física sempre que o pulso atacar.
Então lembre-se da física para o círculo de sobreposição.
E vamos seguir em frente e criar
algumas variáveis para fazer exatamente isso.
Nós vamos lidar com
esse ataque aqui a partir do roteiro.
Então, vamos em frente e começar.
A primeira coisa que vamos fazer
é criar um campo serializado.
E vamos seguir em frente e tornar este
privado porque já sabemos o que ele faz.
Portanto, a quantidade de dano ent
e será igual a 20 como padrão.
Então precisaremos criar
uma transformação que representará o ponto de ataque.
Então, ponto de ataque.
E por que temos um ponto de ataque?
Porque se eu te levar de volta aqui,
você verá que temos
um certo meio e este será o ponto de ataque
em torno do qual construiremos
nosso círculo e verificaremos o jogador dentro dele.
Então, obviamente, vamos desviar a
criação desse objeto de jogo.
Mas antes de fazermos isso,
obviamente também precisará de algo chamado raio,
que é o raio de ataque.
Portanto, não deve ser confundido com o alcance de ataque e.
Portanto, o alcance de ataque é
o alcance no qual começaremos a atacar.
O raio de ataque é o raio no
qual o jogador fica danificado se ele ficar lá.
E então vamos criar finalmente
um campo serializado de máscara de camada de tipo.
E vai ser chamado o que
é jogador e por que chamamos isso assim?
Bem, eu, desde que comecei a usar o Unity,
todos os fóruns, vídeos do YouTube
, outros cursos e, geralmente, a comunidade Unity sempre
causou o que é jogador sempre que
queremos definir algum tipo de camada.
Então, e não apenas o jogador,
às vezes é chamado o que é chão.
Então, estou acostumado com isso.
Você pode chamá-lo do que quiser,
mas esse é o consenso geral sobre isso.
E antes de seguirmos em frente,
precisamos de uma maneira de realmente ver esse raio.
Então, vamos usar os aparelhos vazios do OnDraw selecionados.
Já fizemos isso.
Nada muito extravagante aqui.
Então gizmos cor, cor vermelha.
E vamos fechar isso. Pressione Enter.
E aqui vamos para
os aparelhos desenhar fio, esfera.
Somos esfera e ela vai estar no
posição de ponto de ataque.
E será o raio de ataque como o raio.
Então lá vamos nós, A esfera andro,
como você pode ver, um centro e um raio.
Acabamos de dar a eles o ponto de
posição de ataque, raio de ataque.
Então, de volta ao nosso jogo.
E precisamos esperar que alguma coisa seja compilada?
Saiba que foi rápido.
Então, vou clicar com o botão direito do mouse e criar
um objeto de jogo vazio quando filho do chefe.
E vamos chamá-lo de ponto de ataque.
E nestes chefes da Kelly aqui,
vou acrescentar o ponto de ataque.
O que é o jogador?
É o jogador e o raio de ataque.
Só vou entrar na cena para
ver o que está acontecendo. E lá vamos nós.
Obviamente, como sempre fazemos,
isso depende de você.
Onde você quer definir sua animação ou,
desculpe, eu estava pensando na animação.
Onde você quer definir o ponto de
ataque e quão grande você quer fazer isso?
Então, vou rolar para baixo e ver o ataque.
Então, no ataque, lá vamos nós.
Este é o ponto em que vamos atacar,
então exatamente aqui.
E a partir deste ponto poderemos determinar
quanto queremos mover o raio.
E observe que, como
os aparelhos OnDraw estão no controlador de barramento,
isso significa que aumentamos
aqui apenas um pouco, basta fazê-lo também.
Acho que dois são um número apropriado,
mas vou seguir em frente e fazer três.
Então, apenas para fins de teste.
Então, vou movê-lo um pouco Skelly.
E então, se virmos outro ataque aqui,
então não temos, lá vamos nós.
Se o jogador estiver de pé em qualquer lugar dentro desse raio,
ele terá tido.
Então, sem mais delongas,
vamos salvar isso e vamos lançar um desafio
porque desta vez você vai fazer o ataque.
Primeiro de tudo, você precisa criar
um método e o controlador chefe torná-lo público.
Por quê? Porque precisamos disso em outro lugar.
Então vamos verificar o círculo de
sobreposições nos cães da unidade.
Este será o seu trabalho.
Você precisará ver como tudo funciona.
E você precisa verificar se
o jogador está dentro do raio de ataque.
Se ele estiver, então aplicaremos danos.
Chame esse método usando uma animação de evento.
Então, com isso fora do caminho,
lembre-se, deixe-me mostrar uma coisa.
Chama-se física para o círculo de sobreposição.
E agora pause o vídeo e vá em frente e faça o Shalon.
Oh, ok, bem-vindo de volta.
Então, aqui, irei em frente antes
de tudo e criarei um vazio público.
E vou chamá-lo de camada de ataque.
Ótimo.
Agora, o que vamos fazer aqui?
Primeiro de tudo, precisaremos entender
como funciona o círculo de sobreposição 2D da física.
Então, digamos que eu sou um desenvolvedor de jogos sem noção.
Não faço ideia de como funciona a física para o círculo de sobreposição.
Então, antes de tudo, acabei de verificar aqui.
Portanto, a declaração, uma estática pública,
não precisa se preocupar com a estática.
Podemos fazê-lo sem a estática.
Eu role para baixo aqui.
Posso ver que é um círculo de sobreposição 2D collider.
Temos um ponto, temos um raio, uma máscara de camada,
quero dizer profundidade e profundidade máxima.
Portanto, isso é para as coordenadas z
quando estamos trabalhando em 3D,
presumo, ou talvez algo inclua o objeto O,
objetos que estão no z.
assim, ele também verifica a profundidade.
Não precisaremos disso.
Se rolarmos para baixo, podemos ver que também podemos
obter algum tipo de resultados aqui.
E também podemos usar fotos de contato
sendo aprendidas sobre filtros de contato em um dos vídeos,
obtemos uma matriz,
mas também vamos rolar para baixo.
Ok, então é isso, é tudo o que precisamos.
Também podemos retornar listas.
Então isso é o que precisamos e isso retorna um collider,
colisor 2D sobreposto ao círculo verifica
se um colisor cai dentro da área circular.
O círculo redefine coordenadas, etc., etc.
E aqui você pode ir mais
detalhadamente nas coordenadas z.
Mas, de qualquer forma, isso é o que precisamos de física,
o círculo de sobreposição de volta ao nosso jogo.
O que queremos fazer aqui?
Primeiro de tudo, precisaremos obter
o jogador que estamos atacando.
Então, vou criar um collider 2D.
E vai ser o jogador a atacar.
E eu vou dizer que ele é igual ao
círculo de sobreposição de pontos 2D de física.
E eu vou dizer, o que temos aqui?
Então, antes de tudo, temos o ponto.
Qual é o ponto? Obviamente, é
o ponto de ataque, essa posição.
Então precisamos do raio.
Então, é o raio de ataque.
E então precisamos do que é Jogador porque
só queremos bater no jogador.
Então aqui vamos verificar se o jogador
atacar camada, camada.
Então, ok, então jogador para atacar é diferente do nulo.
Então, por que dizemos que ele é diferente do nulo?
Se olharmos aqui, vamos salvar isso.
Em primeiro lugar,
imprima o jogador para atacar.
Então, salve isso.
E vamos recuperar, e
vamos adicioná-lo ao sistema de eventos.
Então, onde queremos que isso seja chamado?
Se eu entrar no ataque aqui,
eu balanço a espada e, assim como ele balança e vendeu,
eu vou aplicar a função.
E qual função devemos aplicar?
Nessa camada.
E, novamente, quando entrarmos aqui,
vamos adicionar uma outra opção,
desculpe, quero dizer, outro evento.
E vamos atacar o jogador.
Então salve isso, execute o jogo.
E vamos ver o que queremos dizer com nulo.
Então, deixe-o nos atacar.
Então lá vamos nós, doom player, fazer camada.
Lá vamos nós. Se balançarmos, lá vamos nós.
Podemos ver que temos um nulo
aqui quando estávamos lá fora.
Então, porque a maneira como vamos continuar,
porque vamos fazer com que o jogador ataque esse
componente através do manipulador de saúde do jogador.
E qual era o método do que lá?
Acredito que foi danificar
o jogador e a quantidade de dano,
a quantidade de dano que criamos aqui.
Então parece que espero que você entenda o que não entendemos.
Se não tivermos ou
não verificamos se o jogador é nulo.
Então, vamos acessar o manipulador de saúde do jogador,
que não existe,
que causará um erro.
Então, temos esse passo extra de segurança.
Verificamos se o jogador a atacar é diferente do nulo.
Se for, então atacamos ou realmente danificamos.
Se não for, isso significa que ele está fora do raio.
Isso significa que não temos.
Kim e eu vamos manter isso
aqui apenas para fins de teste.
Então, vamos salvar tudo isso.
E vamos voltar ao nosso jogo e aqui,
e vamos correr e ver o que vai acontecer.
Então o jogador se aproxima, ele luta e,
como você pode ver,
ele sofre dano toda vez.
Então, vou fazer o jogador dunas máximo
ajudar um pouco maior. Vida máxima.
Vamos fazer 500 para fins de teste, executar o jogo.
Quão legal é isso, que podemos mudar
a vida toda vez que quisermos,
porque criamos o jogo.
Então lá vamos nós, 202020.
Lá vamos nós. Você pode ver que somos atingidos.
Nós conseguimos.
Nós somos atingidos toda vez.
Removemos ou reduzimos nossas vidas em 20.
E você pode estar pensando, bem,
por que não estamos sendo atingidos no balanço para baixo?
Bem, deixe-me mostrar-lhe.
Então eu tentei ser atingido.
Em segundo lugar. Seja atingido.
Ok, então isso não funcionou bem porque somos
um pouco invencíveis em alguns segundos.
Então você pode ver,
deixe-me tentar fazer isso.
Sei que não está funcionando.
Então, deixe-me ver se consigo remover o tempo de sensibilidade para 0.
E dessa forma não nos tornaremos invencíveis.
Você notará que somos atingidos
no caminho para cima e no caminho para baixo,
no caminho para cima e no caminho para baixo.
E como você pode ver, é por isso que adicionamos
um pouco de invencibilidade ao nosso jogador
porque isso não é muito divertido
ter sido danificado todas as vezes.
E se continuarmos sendo danificados, eventualmente,
o jogador vai morrer para sucumbir aos ferimentos.
Então você pode ver aqui que temos
alguns erros por causa do Enter no estado.
Estamos tentando encontrar o jogador,
mas não há camada.
Agora, nós poderíamos ficar com isso.
Obviamente, não devemos manter
isso porque isso é um erro.
Isso pode causar problemas,
pode fazer com que algumas linhas não sejam levadas em consideração.
Então, uma vacua aqui é apenas verificar
se ele está disponível e assim por diante e assim por diante.
Mas não vamos nos preocupar com isso.
Vamos nos preocupar com a mecânica central,
os pequenos detalhes que podemos contornar mais tarde.
Então, com isso dito, espero que você goste.
Espero que você esteja cometendo suas alterações
cada vídeo.
Espero que você me tenha deixado um comentário
porque isso me ajuda muito.
E isso vai sair do caminho?
No próximo vídeo, vamos levar nosso chefe para
o segundo estágio, segundo
ou dois, o palco irritado.