‫Bem vindo de volta.
‫Neste vídeo, estamos preocupados em reproduzir sons.
‫Gostaríamos de tocar alguns sons quando dispararmos o projétil.
‫Quando o projétil atinge algo e quando um de nossos peões morre.
‫Então vamos pular direto.
‫Agora estou aqui no ED, e se eu for na pasta de assets, temos essa pasta de áudio e temos
‫dois sons diferentes e isso será bom para quando nosso projétil atingir alguma coisa.
‫Usaremos o baque e quando um de nossos peões morrer usaremos o áudio de explosão.
‫E também podemos reutilizar o áudio do baque quando estamos lançando um projétil.
‫Agora gostaríamos que nosso projétil tivesse duas variáveis representando esses ativos sonoros.
‫Agora, aqui embaixo na seção privada, vou adicionar algumas variáveis e vou declarar
‫essa classe.
‫Agora, a classe que vou usar é sua base de som e isso será um ponteiro.
‫Agora vou chamar isso de som de lançamento.
‫Isso vai representar o som que tocamos quando lançamos um projétil.
‫Agora, sua base de som é uma classe que podemos usar para sons.
‫Agora, se expormos isso a blueprints, podemos definir isso usando nossos ativos de som que temos em nossa pasta de
‫sons.
‫Então, eu vou em frente e dar a isso uma propriedade U para que possamos expô-la.
‫E vou editá-lo em qualquer lugar e colocá-lo na categoria de combate.
‫Então está lá com nossas outras variáveis de combate.
‫Agora eu gostaria de usar outra variável baseada em som para quando o projétil atingir algo.
‫Então este será outro ponteiro baseado em som U.
‫E vou chamar isso de som de acerto e vou dar a mesma propriedade de você como som de lançamento.
‫Agora observe que eu não estou declarando que você é base de som para som de sucesso, isso é porque eu já declarei
‫que você é base de som aqui.
‫Então, uma vez que você tenha declarado um tipo em uma linha, esse tipo pode ser usado depois dele no arquivo.
‫Agora, por esse motivo, algumas pessoas colocam suas declarações avançadas até aqui no topo.
‫Essa é outra maneira de fazer isso.
‫Então, se eu disse classe, você soa base aqui, então isso cuida da declaração de encaminhamento e eu posso usar o tipo
‫de base de som de uso em qualquer lugar deste arquivo após a declaração de encaminhamento.
‫Então essa é outra maneira de fazer isso.
‫Então, apenas para mostrar a você os dois lados, vou declarar que você está bem aqui no topo,
‫em vez de declarar aqui embaixo.
‫Então agora temos que usar variáveis de base de som no projétil h.
‫Eu gostaria de adicionar uma base sólida à classe de peões base e isso será para quando o peão base for destruído.
‫Então, isso estará na seção privada e eu vou declará-lo aqui e será
‫um ponteiro de base de som e vou chamar isso de som da morte e isso obterá uma propriedade de você.
‫Vou rolar para baixo para que você possa ver melhor sua propriedade.
‫Ele será adicionado em qualquer lugar.
‫E eu vou colocar isso na categoria.
‫Combate.
‫Então agora que nossa base -- e nosso projétil usaram variáveis de base de som, vamos em frente e
‫compilá-los e dar uma olhada nessas variáveis no Blueprint.
‫E, claro, recebo um erro de compilação porque digitei sua propriedade um pouco apressadamente.
‫Esse y minúsculo deve ser um y maiúsculo.
‫Essas coisas diferenciam maiúsculas de minúsculas, portanto, corrigindo esse erro de digitação e compilando novamente, agora tenho uma compilação
‫bem-sucedida.
‫Então vamos voltar para o editor agora aqui o editor, vou abrir a pasta de atores
‫e o projétil BP e vou abrir o editor de blueprint completo, prefiro fazer isso.
‫Isso torna mais fácil para mim ver onde tudo está agora.
‫Eu tenho o som de lançamento e o som de hit aqui e, como eles são editados em qualquer lugar, podemos
‫selecionar ativos de som no menu suspenso e ele apenas me mostra as opções válidas que tenho.
‫Agora, o que estou vendo aqui é o som de lançamento e vou usar o áudio do baque para isso.
‫Agora vou usar o áudio Thud para o som do hit também.
‫Mas eu fiz duas variáveis.
‫Portanto, se você conseguir mais efeitos sonoros, poderá usar um som diferente para o lançamento versus o som
‫do hit.
‫Então, isso está configurado para você, caso você goste de fazer isso.
‫Agora isso cuida do som de lançamento e do som de acerto no projétil.
‫Então eu vou compilar e salvar e fechar isso.
‫Em seguida, vou abrir as lagoas e abrir o tanque da lagoa BP.
‫E aqui está o meu som de morte na seção de combate.
‫Vou clicar no menu suspenso e usar o áudio de explosão e definir o som da morte para o recurso de som de áudio
‫de explosão.
‫Vou compilar e salvar isso e fechar o tanque da lagoa BP e abrir a torre da lagoa BP porque colocamos
‫essa variável na classe base da lagoa da qual a torre também herda.
‫Então, vou definir o som da morte para explodir o áudio aqui também.
‫Então agora temos ativos de som e eles estão armazenados em variáveis tanto em nossas lagoas quanto no projétil.
‫A única coisa que resta é realmente tocar esses sons.
‫Agora, a estática do jogo tem outra função útil.
‫Chama-se reproduzir som no local.
‫Agora podemos rolar para baixo e ver que são necessários vários parâmetros de entrada, mas, como
‫a maioria dessas funções, há vários parâmetros opcionais que possuem valores padrão.
‫Então, podemos cavar no código para ver isso.
‫Então eu vou pular no CP do projétil e aqui e começar a jogar.
‫Eu vou digitar suas estatísticas de jogo, tocar o som no local e apertar os parênteses de abertura lá e verei
‫que diz um dos dois.
‫Agora, esta primeira versão que está me mostrando leva um objeto de contexto mundial.
‫Sabemos que podemos passar isso para isso.
‫E em seguida é preciso uma base de som de uso.
‫Então, temos variáveis de base de som e, em seguida, leva um vetor F para a localização.
‫Agora, se quisermos reproduzir o som no local do projétil, podemos apenas usar get ator location
‫e o restante dessas entradas são opcionais.
‫Então, se você quiser dar uma olhada nisso, dê outra olhada na página de documentação desta função e
‫faça mais pesquisas.
‫Mas estamos preocupados apenas com as três primeiras entradas, então sabemos como tocar sons em locais que podemos
‫usar.
‫A estática do jogo reproduz o som no local, que recebe um objeto de contexto do mundo, um som para o qual podemos
‫usar nossa base de som de uso e um local para o qual podemos usar obter a localização do ator.
‫Portanto, seu desafio será chamar o som de reprodução no local e reproduzir sons para os vários aspectos do nosso
‫jogo que precisam de sons.
‫Então, chame você de estática de jogo, reproduza o som no local da classe do projétil primeiro na função ao acertar e use
‫nossa variável de som de acerto.
‫Faça isso na verificação if quando verificamos se outro ator é válido, bem como certifique-se de que o outro ator
‫não é este ou o proprietário.
‫Mas chame antes de destruir o projétil e chame o som de reprodução no local e comece a jogar para
‫o projétil e use o som de lançamento.
‫Dessa forma, teremos o som reproduzido quando o projétil for gerado, bem como quando o projétil atingir
‫algo em seguida.
‫Vá para a classe básica de pong e chame o som de reprodução no local e lide com a destruição.
‫E você vai usar o som da morte.
‫Essa é a explosão.
‫Portanto, pause o vídeo e adicione essas chamadas para reproduzir o som no local agora.
‫OK.
‫Então primeiro estamos aqui no Projétil CP e eu vou na ordem do desafio.
‫Então primeiro eu vou descer até o hit e tocar o som aqui embaixo.
‫Agora você provavelmente verificou para ver se o som era nulo e se você fez, eu te dou os parabéns porque você
‫já está adquirindo esses bons hábitos de programação.
‫Agora, se você não fez, tudo bem.
‫Vá em frente e faça isso.
‫Agora.
‫Vamos verificar se o som do hit é válido antes de chamarmos a nova função de estática do jogo.
‫Então vai ser você.
‫As estáticas do jogo reproduzem o som no local e primeiro precisamos de um objeto de contexto do mundo que será
‫este.
‫Em seguida, precisamos do próprio som do hit e vamos tocá-lo no local do ator.
‫Portanto, obter a localização do ator satisfará esse terceiro parâmetro.
‫Ok, perfeito.
‫Em seguida, precisamos tocar um som e começar a tocar.
‫Então vamos voltar para começar a jogar.
‫E para este, vamos verificar se o som de lançamento é válido.
‫Então, vamos dizer que se você iniciar o som, o jogo, a estática, reproduz o som no local e, é claro, precisamos do objeto
‫de contexto do mundo.
‫Essa é a base de som de uso que será o som de lançamento e vamos tocar isso no local
‫do ator.
‫Então pegue a localização do ator e isso se encarrega de tocar o som e começar a tocar.
‫Então a última coisa a fazer é tocar o som na base -- class e lidar com a destruição.
‫E agora que estamos lidando com efeitos visuais e sonoros, não precisamos dizer para fazer aqui porque
‫fizemos isso.
‫Então, primeiro, vamos verificar se o som da morte é válido.
‫Se for, então podemos chamá-lo de estática de jogo reproduzir som no local com o objeto de contexto do mundo.
‫Essa será a base de som que será o som da morte e a localização do ator satisfará
‫a localização desse som da morte.
‫Oq Incrível.
‫Vamos em frente e compilar nosso código com uma compilação bem-sucedida.
‫Vamos voltar aqui para o editor e vamos testar isso.
‫Então eu vou apertar o play e esperar o cronômetro.
‫Então, em resumo, agora temos som.
‫Estamos tocando um som para o projétil no acerto e no lançamento, e estamos tocando um som para o peão
‫na morte.
‫Então, olhando para o nosso plano de seção, vemos que marcamos quase todos os itens aqui.
‫Ainda estamos nos efeitos especiais, temos a fumaça, as explosões e os sons.
‫Há apenas algumas coisas a fazer para polir este jogo e ter certeza de que está parecendo e se sentindo
‫bem antes de prosseguirmos e encerrarmos esta seção.
‫Então te vejo no próximo vídeo.