Bem-vindo de volta, meus colegas desenvolvedores de jogos.
Neste vídeo, vamos adicionar balas.
Nós os chamamos de balas, mas são espadas para o nosso esqueleto.
Então, quando executamos nosso jogo, olhe o que acontece.
Você pode ver que o esqueleto está realmente jogando tipos.
E não só isso, se andarmos por aí,
as espadas começam a nos seguir.
E se você notar,
se mudarmos a fonte que já está voando,
continue voando na direção porque há algo muito recente que aconteceu.
Eles descobriram que os tipos não mudam de direção no ar.
Descoberta incrível. Não vamos perder mais tempo com o nosso,
não vamos chamá-los de piadas estúpidas.
E vamos começar.
Oh, ok, então é hora de criar algumas balas inimigas apropriadas.
Então, a primeira coisa que vamos fazer é ir em frente
e pegar os sprites da nossa espada ou do tipo de inimigo.
Então, se eu entrar nos sprites,
se eu entrar no inimigo,
nos inimigos muçulmanos, o esqueleto.
E aqui eu tenho o sprite para onde ele está?
Onde estão os pensamentos voadores?
Então lá vai você. Este é o voo classificado.
Criamos qualquer coisa para isso.
Acho que não o fizemos.
Então, vou criar um objeto de jogo vazio, redefinir sua posição.
E eu vou dar a ele um dos,
onde está, o tipo?
Então, vamos dar a ele este.
Vou adicionar quatro.
Posso simplesmente adicionar a espada aqui.
Basta remover este objeto do jogo e eu chamarei isso de espada de esqueleto voador. Lá vai você.
E vou criar uma animação.
Então, vou para os ativos e animações,
e vou para animação esqueleto.
E vamos chamá-lo de disco voador.
Clique em Salvar.
Lá vamos nós. Então agora temos o animador e deixe-me escolher todos os sprites do tipo.
E vamos em frente e arrastá-los para cá.
Então agora, se executarmos a animação, lá vamos nós,
você pode ver que temos uma espada extremamente rápida que a move.
Certo, então está quase tudo bem. Então lá vai você.
Você pode ver que é assim que nosso tipo funciona.
E explode antes que chegue ao inimigo.
Por isso, tem cerca de 40 quadros de tempo de voo.
E isso é bom. Queremos que a espada pelo menos possa destruir em algum alcance.
Não queremos que o sal esteja voando o tempo todo agora,
se você quiser ter seu sal voando o tempo todo,
você precisará adicionar algumas coisas.
Então, por exemplo, você pode simplesmente colocá-lo em um loop e o sal continuará voando e voando
sem nunca ser destruído até que ele atinja o jogador.
E, finalmente, justo pode ser destruído com algumas condições.
Mas não vamos nos preocupar muito com isso agora.
O que faremos é abrir os scripts aqui.
Vamos entrar nas balas e clicaremos com o
botão direito do mouse e criaremos um novo script C-sharp,
que será o controlador de bala inimigo.
E vamos chamá-lo de bala ou projétil,
mas por enquanto vamos chamá-lo de bala.
Então, vou salvar isso.
E vou clicar duas vezes e abrir isso.
Então, a primeira coisa que vamos precisar é de um campo serializado,
que é um flutuador para a velocidade da bala.
E eu vou usar bala e meio que projetado à medida que prosseguimos.
E vamos precisar de uma referência à direção dos jogadores.
Então, vou criar um vetor privado 3 e ele será a direção do jogador.
Então, como a bala inimiga realmente vai funcionar?
O que faremos é então começar,
vamos determinar a direção dos jogadores.
Então, será igual encontrar objetos do tipo.
E vai ser o controlador de camada.
E a partir daqui vamos seguir em frente e usar a posição de ponto de transformação
do jogador que encontramos menos a posição transform.py ponto o.
É isso. Não, não normalizado,
não, não agora.
Então, por que estamos fazendo isso instalado e não uma atualização?
Porque não queremos que a bala continue seguindo o jogador.
Só queremos ter a direção do jogador assim que a bala for disparada.
Então, quando a bala é disparada,
estamos instanciando essa bala.
E essa bala. Assim que ele acordar. Comece.
Vamos começar. Ele encontrará o objeto do jogador,
obterá a direção do jogador.
E então vamos nos certificar de que a direção do jogador se normalize.
Lá vamos nós.
Então, dessa forma, não é mais rápido se estiver se movendo em uma diagonal.
Certo, ótimo. Agora, a próxima coisa que queremos fazer é garantir
que essa bala seja destruída sempre que atingir um obstáculo.
Mas não só isso,
queremos também reduzir a saúde do jogador mais tarde, quando ele o atinge.
Então, uma das coisas que precisaremos fazer.
O problema é um desafio?
Que tal essa transição?
A palha, a bala e verifique o jogador.
Então você precisará criar,
isso deve ser M no Trigger Enter to D para a bala.
Você precisa verificar se o que atingimos foi o jogador por sua etiqueta,
precisará destruir a bala quando ela atingir algo.
E eu vou te dar uma pequena dica,
você precisará usar a palha.
Bem, isso não é realmente,
foi muito fácil,
mas pensei que talvez porque é a primeira vez que você usa destruído,
talvez você precise disso.
Portanto, lembre-se de que você também precisará adicionar um gatilho a isso.
Pause o vídeo agora mesmo e vá fazer o Shalon k.
Então há algo que eu deixei do desafio.
Eu mencionei um pouco e espero que esse sapato que isso por conta própria,
eu vou ter que adicionar um colisor.
Então, um colisor circular 2D, é bem grande.
Vou colocar o raio acima, tomar grande.
Vou, ok,
então acho que esse raio é bom o suficiente.
Vamos ver como isso vai voar.
Então este é o círculo completo.
Então, vou movê-lo um pouco para baixo,
um pouco assim ou tudo bem, ótimo.
Então agora temos o colisor,
nós nos certificamos de torná-lo um gatilho.
Vou salvar isso e vou seguir em frente no o e adicionar também os
scripts do controlador de bala inimigo.
Lá vamos nós.
A velocidade do barco será, vamos fazer 34.
Agora, clique duas vezes sobre isso, abra isso.
E agora o que vamos fazer é criar um no açúcar entra,
então em Trigger Enter to D.
E aqui vamos verificar se a tag collision.com.
E se for o jogador,
obviamente precisaremos criar a pilha em um pouco.
Se for, o jogador simplesmente usará o log de pontos de depuração.
A camada foi atingida.
E então nós simplesmente vamos tirar isso,
seja qual for o alvo,
objeto de jogo destruidor de alma.
Salve isso.
Agora, o passo final é que queremos mover nossa bala.
E como vamos mover nossa bala?
Bem, obviamente podemos usar o corpo rígido novamente,
assim como fizemos com a bala do jogador.
Mas acho que sou esse caso,
é muito melhor usar a maneira antiquada que é movida a transformação do livro.
Primeiro de tudo, há muitos motivos.
Primeiro de tudo, podemos fazer isso com bastante facilidade e é muito eficaz.
E a segunda razão é que não queremos ter muitos corpos rígidos e nosso jogo,
porque sempre que você tem um corpo rígido,
isso significa que o motor de física está funcionando.
E quando há um mecanismo de física está funcionando,
isso significa que há mais poder computacional.
Então, na última vez que usamos a manteiga, nosso jogo corre.
Então, uma atualização, vou acessar a transformação.
Eu vou, quero dizer a posição sobre a transformação.
E vou continuar aumentando isso.
Indo para a direção do jogador, cronometre
a velocidade da bala.
Então, essa velocidade, e, claro, vou usar o tempo, o tempo delta.
Assim que a bala é instanciada,
a direção do jogador é encontrada.
E cada quadro em que a transformação é movida em direção a esse jogador.
E assim que ele atinge o jogador,
o objeto do jogo é destruído.
E se tivéssemos uma camada profunda ou qualquer outro objeto que seja destruído,
mas se tivéssemos o jogador especificamente,
o jogador foi atingido será colocado ou impresso no console.
Então, vou salvar isso.
Vou voltar para o meu novamente.
E vamos ver, vamos fazer disso um pré-fabricado.
Pré-fabricado. Vou clicar com o botão direito do mouse e aqui e criar uma pasta, 40 marcadores.
E a bala do jogador aqui.
Clique duas vezes aqui, defina a classificação do esqueleto voador aqui.
Vou excluí-lo.
Vamos salvar isso.
E vamos seguir em frente e executar o jogo e ver o que acontece.
Então, ok, não mudamos a pilha.
Não alteramos as balas reais do jogador.
Então lá vamos nós.
Vamos adicionar este esqueleto voador,
classificar o jogo.
E como você pode ver,
nada está acontecendo porque a bala está nas camadas de classificação erradas.
Então, na camada de classificação inimiga,
agora devemos salvar isso.
Agora, quando corremos, devemos.
Sim, lá vamos nós. Você pode ver que temos esses tipos voando em direção ao jogador.
E quando tínhamos o jogador,
não temos nada impresso no console.
Por que isso? Bem, vamos verificar, vai salvar isso.
Então eu esqueci o passo mais importante e o que você deveria ter feito no desafio,
presumo que você saberia o que fazer e o desafio,
porque estamos verificando a tag do jogador,
mas aparentemente pela memória, não é ótimo?
Então o problema aqui é que não marcamos o jogador também, o jogador.
Como você pode ver, já temos a tag aqui.
Um grande erro, não se preocupe com isso.
Vivemos, aprendemos,
aplicamos nossas mudanças.
Nós salvamos tudo isso, executamos o jogo.
E agora o que devemos ver é que lá vai você.
Assim que o jogador classificou,
o jogador foi atingido e você pode vê-lo várias vezes e aqui 4, 5, etc
Agora, o que eu queria mostrar é se eu mover o jogador,
as espadas que já estão indo na direção do o jogador não mudará.
Então lá vai você. Você pode ver que agora
siga o jogador enquanto ele se move e podemos destruí-lo?
Sim, podemos.
Se você quiser, você pode adicionar outra camada,
que é a camada de bala inimiga,
e certifique-se de que as balas do jogador não interajam com o inimigo da bala.
A escolha é sua.
Que mecânica de jogo você tem em seu jogo?
Faça isso, aplique?
Eu adoraria ver se você me mostrar.
E não foi isso, espero que você goste.
Espero que você esteja cometendo suas alterações a cada vídeo.
E no próximo, vamos adicionar um alcance ao tiro inimigo para
que não queremos deixar que nosso ME garanta de onde quer que no mapa queremos ter um,
algum tipo de alcance em que o inimigo possa atirar em nós.
Então, vejo você.