Bem-vindo de volta meus colegas desenvolvedores de jogos em um novo vídeo.
E quando executamos o jogo,
você pode ver que temos uma bala que viaja pelo
espaço e quando atinge uma parede, ela é destruída.
Então, não vamos perder mais tempo.
E vamos começar.
Ok, então vamos em frente e criar algumas balas.
A primeira coisa que precisamos fazer é que precisamos pegar alguns sprite de balas.
Vamos seguir em frente e fazer exatamente isso.
Vou entrar no projeto.
E antes de fazer essas coisas,
quero mudar algumas coisas aqui.
Então, vou clicar com o botão direito do mouse em criar uma pasta.
Vou chamar isso de saias.
E vou adicionar o controlador do jogador.
E aqui vou criar uma pasta pela primeira vez agora os sprites.
E vou adicionar todos os sprites que temos nesta pasta.
Ou mesmo antes disso,
vou criar uma pasta para o jogador e uma pasta para as armas.
Armas. Lá vamos nós.
Então agora eu posso abrir os sprites aqui.
Vamos pegar a arma e colocá-la aqui.
Vamos pegar o preço do jogador e colocá-lo na pasta do jogador. Ótimo.
Agora temos tudo configurado.
Temos esse pequeno erro.
Não acho que seja um grande problema.
Certo, ótimo.
Agora vamos em frente e crie outra pasta aqui, que serão as balas.
E vamos entrar nos recursos e pegar os sprites para as balas laser.
Agora, você pode estar se perguntando,
por que eu escolhi ter balas laser e não balas para uma espingarda regular?
Bem, antes de tudo, olhe para essas balas,
como elas parecem legais.
Isso é 4142. Eu queria que algo aparecesse facilmente.
Então, como você pode ver, estamos,
Vamos colocá-lo na camada do jogador,
ok, então eu quero que algo seja claramente visível para nós.
Não quero ter uma pequena bala que mal podemos ver.
Quero ter uma grande bala brilhante que podemos disparar.
Então, se você quiser, podemos criar uma camada de classificação para as balas.
Vamos seguir em frente e fazer isso.
Uma nova camada de classificação,
chamaremos isso de balas e ela deve ser renderizada na frente do jogador.
Vou escolher isso.
Vou renomeá-lo para a bala do jogador.
E acabei de escolher isso aleatoriamente.
Você pode escolher qualquer bala que quiser.
Acho que talvez um vermelho como espingarda.
Saiba. Ainda melhor do que isso.
Olha o que podemos fazer.
Posso escolher a bala do jogador e posso mudar o sprite aqui,
arrastar o número 14 sobre.
Lá vamos nós. Então, é uma bala enorme.
Talvez possa ser mudado um pouco,
então a bala renderiza na frente do jogador.
E eu acho que talvez faça isso 0,50.5.
Não, talvez mantendo um.
Sim. Parece uma bala de arma grande.
Certo, ótimo.
Agora precisamos adicionar algumas coisas a isso.
Precisamos, em primeiro lugar, adicionar um corpo rígido porque vamos ser,
O que é isso, Desculpe, quarto.
Vamos adicionar um corpo rígido porque, obviamente, essa bala estará se movendo.
Vamos nos certificar de que congelamos a rotação.
Vamos nos certificar de que a escala de gravidade 0.
E lá vamos nós.
Então vamos adicionar um collider a isso.
Então, vou adicionar um colisor.
Vamos ver qual deles devemos usar?
Acho que o colisor de cápsulas não funcionará porque está invertido,
culminou na horizontal.
Vamos seguir em frente e usar um colisor de caixa.
Acho que é bom o suficiente.
Então, onde está o colisor de caixa?
Vamos torná-lo um pouco menor.
Sim. Lá vamos nós.
E eu sempre recomendo que você faça a caixa
coliders em torno de coisas como balas um pouco menores do que elas precisam ser.
Então lá vamos nós.
Oh, ok. Isso é bom o suficiente, eu acredito.
E agora precisamos mudar o comportamento da bala.
Queremos fazê-lo voar.
Como fazemos isso? Fazemos isso adicionando um script a ele.
Então, vou entrar em nossos roteiros aqui.
Vou clicar com o botão direito do mouse e criar um novo script,
que será o controlador de bala do jogador.
Vamos esperar que isso compile o ponto imediatamente abra um script sempre que você criar um,
basta esperar que ele seja compilado.
E agora podemos ir em frente e arrastar o script para a bala do jogador.
E podemos ver na bala do jogador que temos o renderizador sprite via corpo rígido,
o colisor de caixa e, claro, o script do controlador de bala do jogador.
Então, vamos clicar duas vezes e abrir o script.
Então, temos um novo roteiro.
O que vamos fazer aqui?
Bem, antes de tudo,
queremos uma maneira de controlar a velocidade dessa bala.
Então, vou criar um campo serializado do tipo flutuador,
que é a velocidade da bala.
E vamos defini-lo por padrão 25 F porque nunca queremos ter um padrão de 0.
Então 55, mas a velocidade da bala.
Então, se for baixo, mas é melhor do que nada.
E a próxima coisa que queremos fazer é adicionar velocidade a essa bala.
Então, para fazer isso,
precisamos de uma referência ao corpo rígido.
E eu não tenho vontade de fazer isso,
então eu quero dar a você como um desafio,
você precisará obter uma referência ao corpo rígido.
Portanto, crie uma variável de corpo rígido tipo garante que seja particular.
E comece a obter o componente do tipo corpo rígido.
Se você já sabe como fazer isso,
pause o vídeo e faça o desafio.
Se não, vou dar-lhe uma pequena dica sobre como obter um componente.
Use o componente get com um tipo entre os dois sinais pouco maiores ou menores.
Então, pause o vídeo agora mesmo e faça o desafio.
Certo, bem-vindo de volta.
Então aqui vou criar um corpo rígido privado 2D e o corpo
rígido de bala.
Salve isso.
E agora, porque temos
o controlador de bala do jogador em um objeto de jogo que também tem o corpo rígido.
Podemos acessá-lo imediatamente dizendo que o corpo rígido das balas
é igual ao componente de dívida, corpo rígido 2D.
E agora temos uma referência a ele.
Agora e atualize o que vamos fazer?
Bem, assim como fizemos com o jogador,
vou seguir em frente e dizer que
a velocidade rígida do corpo das balas é igual ao novo vetor 2,
porque a velocidade é um vetor 2.
Quando estivermos trabalhando no espaço,
vou manter um para o x.
e vou manter 0 F como o y.
E vou multiplicá-lo pela velocidade da bala.
Por que estou fazendo isso?
Bem, porque eu não quero que a bala se mova no eixo y.
Não quero que ele se mova verticalmente.
Quero mover a bala apenas horizontalmente por enquanto.
Então, vamos salvar isso.
Ok, então vamos voltar para o Unity e vamos diminuir um
pouco e vamos fazer a velocidade os dois para que possamos ver claramente o que está acontecendo.
Vamos mover o empregador e a bala de volta e executar nosso jogo.
Então lá vamos nós,
você pode ver que a bala está viajando pelo espaço e quando ela atinge,
então tudo, ela pára completamente, tão grande.
Nossa bala está se movendo perfeitamente. Podemos dividi-lo.
Podemos fazer o que quisermos.
Mas o que acontece, por exemplo,
se o livro for diagonal quando executamos nosso jogo?
Vamos ver o que acontece.
Sim, então claramente não é assim que uma bala deve estar se movendo.
O que queremos fazer é queremos que a bala esteja sempre
se movendo na direção que definimos para ela.
Então, como vamos fazer isso?
Digamos que, por exemplo,
temos nossa espingarda aqui,
nosso braço, e ela é girada para cima.
Nossa bala também será girada para cima.
Então, se o movermos,
é algo semelhante a isso.
Mas se clicarmos aqui,
cima, aqui em cima, você pode ver o centro e o global.
Isto é para a rotação,
isso é para o,
bem, como os eixos são representados.
Então, se eu clicar no local,
você pode ver que essa é a direção que a bala está olhando atualmente.
Então é assim que a bala vai sair e voar.
E você pode ver que é o vermelho,
que é o eixo x,
está olhando para cima e a direção da bala.
Então, sempre que giramos nossa espingarda,
queremos que a bala gire com ela também.
Então, queríamos voar sempre na direção do x.
Então, como vamos fazer isso?
Bem, felizmente, há um vetor que é chamado de ponto de transformação, certo?
E deixe-me mostrar o que é isso.
Opa, desculpe, isso é para mais tarde.
Então, transformar esse direito é o eixo vermelho do transporte no espaço mundial.
Assim, podemos acessar esse eixo sempre que quisermos.
E essa é a direção em que vamos fazer nossa bala voar.
Então, de volta ao nosso código e aqui vou remover o novo vetor dois.
E eu vou, em vez disso.
Diga que a direção será transformada ponto, certo?
Então, agora toda vez e a atualização,
quando a bala está voando,
ela está voando na velocidade da velocidade da bala que determinamos
e na direção do transform.py,
à direita, que é o eixo vermelho.
Vamos testar isso.
Então, se eu executar o jogo agora,
a bala está se movendo bem.
Ótimo.
Vamos ver se salvamos isso.
E quando a bala está apontando para cima,
se eu correr o jogo, sim, lá vamos nós,
a bala está se movendo para cima.
Quão legal é isso?
Ótimo.
Agora, mais uma coisa.
Não é assim que ele se comporta.
Geralmente uma bala Sempre que for assim.
Deixe-me apenas esticá-lo.
Bem, funciona.
Sim. Lá vai você.
Acabou de adorar o edifício e continuará para sempre até a eternidade.
E isso é um problema.
Sempre que você tem uma bala que não é destruída em algum momento quando atinge uma parede.
Isso é o que precisamos consertar. Essa é a primeira coisa.
A segunda coisa, uma bala não atinge apenas uma parede e fica lá.
Uma bala deve ser capaz de viajar por uma parede.
Talvez, talvez tenha viajado por uma parede.
Então, vamos clicar na bala dos jogadores.
Vamos para baixo e para o colisor e vamos torná-lo um gatilho.
Então, o que é um gatilho?
Um gatilho se o colisor se comporta como um gatilho ou não,
isso não é muito útil.
Um gatilho significa que, se essa bala atingir um tipo de superfície,
ela não a impactará fisicamente.
Mas isso nos dá a capacidade de chamar algo chamado de causa,
algo chamado Isso é muito inteligente.
E no Trigger Enter para o,
então o que isso faz,
você pode ler a descrição enviada quando um outro objeto entra
em um collider acionado anexado a esses objetos somente à física.
Então, o que acontece se essa bala for um gatilho enquanto ela viaja pelo espaço?
Quando ele atinge a parede aqui,
que está no fundo.
Quando ele atingir esta parede,
um método de entrada de açúcar será chamado,
que criará no controlador de bala dos jogadores de bala e ouro cauteloso,
podemos ir em frente e fazer o que quisermos.
E uma dessas coisas é destruir a bala.
Deixe-me demonstrar.
Isso é muita conversa, não há ação suficiente.
Vamos ver o que acontece.
Vou escrever em Trigger,
Enter 2D, pressione a tecla Tab.
Então, como você pode ver, é um vazio privado.
Não se preocupe se você não sabe o que é essa palavra.
Mais tarde, explicaremos tudo e como podemos criar métodos.
Não se preocupe. E então temos o Onsager entrar
e temos algo aqui chamado de parâmetro.
Também vamos nos aprofundar nisso.
Mas tudo o que você precisa saber que essa colisão é o objeto que acabamos de acertar.
Então, por exemplo, se essa bala voar e atingir o jogador,
o jogador é a colisão aqui.
Mas, de qualquer forma, o que queremos fazer quando a bala atinge alguma coisa?
Bem, queremos que essa bala se destrua.
Queremos que essa bala desapareça.
Não precisamos mais em nosso mundo.
Existe um método muito bom de fazer isso,
simplesmente escreveria destruir o objeto do jogo, e é isso.
Então, destruímos o que os esteroides devem ou remove um objeto, componente ou ativo do jogo?
E o que queremos remover?
Queremos remover o objeto do jogo real.
E se você passar o mouse sobre ele,
poderá ler o objeto do jogo.
Esse componente é anexado a componentes de um objeto de jogo.
Então, vamos salvar isso.
Vamos voltar para Unity,
que set doublet aqui.
E agora, quando a bala atinge qualquer um dos coliders,
ela deve desaparecer da nossa cena.
Vamos executar o jogo.
Mantenha os olhos na vista da cena. Lá vai você.
Ele fica esteroide.
Você notou na hierarquia que não temos mais a bala?
Com licença, essa é uma atualização irritante.
Vamos tentar isso novamente sem atualizações.
Isso tentou definir a bala aqui.
Execute o jogo, fique de olho na hierarquia quando ele atingir,
para que toda a bala desapareça.
Então, agora, quando entramos em uma zona,
bala é destruída porque é um gatilho,
que significa que ele aciona o método de entrada Onsager
sempre que ele realmente atinge qualquer tipo de parede,
você pode ler mais sobre isso aqui em a documentação Unity.
Então, espero que você tenha gostado de criar sua nova bala.
Espero que não o incomode que as balas sejam brilhantes e muito
futuristas no local da peculiaridade do jogo que estamos criando.
E também estamos usando sprites livres.
Portanto, temos que contornar as limitações que temos.
No próximo vídeo, na verdade estaremos filmando
essas balas da arma aprendendo o que é breve.
Nunca se esqueça de confirmar suas alterações.
Espero que você goste e te vejo no próximo vídeo.
E antes de ir a propósito,
há algo que não queremos encenar e nosso jogo,
que são os sprites que acabamos de adicionar.
Então, o que faremos, porque isso não é necessário encenar, comprometendo os sprites.
O que vou fazer é entrar aqui.
Vou clicar com o botão direito do mouse e vou ignorar
e ignorar tudo abaixo de ativos, sprites.
Não queremos salvar nada que esteja dentro dos sprites.
Porque um deles, sempre teremos os sprites em nosso computador para,
talvez nunca tenhamos excluído os sprites por engano.
E mesmo se o fizermos, sempre podemos colocá-los de volta.
E 3, eles ocupam muito espaço desnecessário.
Então ignore tudo sob os sprites ativos atingiu Ok,
Tudo deve ter desaparecido,
apenas as balas e assim por diante e assim por diante.
Então, espero que você tenha gostado de encenar tudo e eu te vejo no próximo vídeo.