‫Se dermos uma olhada na IU do Fruit Ninja, podemos ver que temos um poço, eu marquei a melhor pontuação e então temos um
‫cronômetro que se esgotou.
‫E é isso que também precisamos adicionar ao nosso jogo, é claro.
‫Portanto, vamos criar um novo objeto primeiro e chamá-lo de gerenciador de jogo.
‫E aqui adicionamos um script.
‫Então, vamos criar um novo script, chamá-lo e atribuir um novo script a esse gerenciador de jogo.
‫Então, vamos criar um novo script aqui em nossa pasta de scripts e chamá-lo de gerenciador de jogo.
‫Agora, vamos arrastar o gerenciador de jogo para o nosso script de gerenciador de jogo, não direcionar o script do gerenciador
‫de jogo ao nosso gerenciador de jogo e editá-lo.
‫Agora, o que nosso gerenciador de jogo fará agora é contar o placar.
‫Então, vamos criar um método e várias variáveis para isso.
‫Em primeiro lugar, precisaremos de um inteiro que terá o valor da pontuação atribuído a ele e, em seguida,
‫precisaremos de um objeto de texto.
‫E, para trabalhar com texto, precisamos adicionar a interface de usuário de início de
‫mecanismo de unidade.
‫Portanto, o namespace com o mecanismo dessa IU agora podemos acessar o texto público da classe de texto e vamos chamar
‫esse texto de pontuação.
‫E vamos criar um método que simplesmente aumentará nossa pontuação.
‫Então public void, aumente a pontuação e a produção, aumente a pontuação em, digamos, dois.
‫Cada vez que alguém chama este método ou qualquer classe chama este método.
‫Portanto, aumente em dois.
‫E também queremos definir o texto da partitura.
‫Portanto, cada vez que a pontuação é aumentada, queremos atualizar a variável de texto, é claro, também.
‫Portanto, marque a corda.
‫Tudo bem.
‫Agora, vamos salvar o script e voltar à unidade aqui.
‫Criaremos um novo objeto e chamarei essa IU.
‫Então, vamos mudar o nome do objeto do jogo.
‫Vamos chamá-lo de IU.
‫E agora vamos adicionar um texto de IU aqui.
‫Vou criar a tela.
‫Vou arrastar a tela para o objeto do jogo de interface do usuário.
‫E o que eu quero usar aqui é que nosso escalar de tela não tem um tamanho de pixel constante, mas
‫é dimensionado com o tamanho da tela e podemos definir a resolução para, por exemplo, oitocentas vezes
‫oitocentas ou dezenove, vinte vezes dez oitenta, o que você quiser.
‫Então, por enquanto, teremos apenas o texto lá.
‫Então, vamos dar uma olhada como está atualmente e não vemos o texto, mesmo assim, vamos cuidar disso.
‫Vamos para nossa tela.
‫Aí está você.
‫E você vê que nosso texto nem está dentro do nosso jogo.
‫Vamos ver, nossos elementos de IU devem ser redefinidos, OK?
‫E agora podemos mudar a posição do nosso texto.
‫Eu quero que meu córtex esteja no lado superior esquerdo da minha IU.
‫Então, amplie um pouco e vamos mudar a transformação direta para o canto superior esquerdo.
‫Essa será a predefinição de âncora.
‫Isso significa que, a partir dessa perspectiva, os valores de X e Y são calculados.
‫Então, vamos escolher zero zero.
‫E você pode ver que nosso texto agora está neste canto superior esquerdo.
‫Agora, bons valores seriam, por exemplo, cento e menos setenta e cinco e talvez vamos mudar o
‫tamanho do nosso texto também.
‫Portanto, este será o texto da partitura.
‫Então, talvez haja um valor como zero aqui e mude o nome dele.
‫A escola vai chamar seu texto central.
‫Claro que o tamanho da fonte é um pouco pequeno demais, então vamos mudar isso.
‫Vamos com, digamos cento e vinte.
‫E como você pode ver agora, ele desaparece.
‫Então, não vemos mais o número e isso tem a ver com o estouro.
‫Então, se você adicionar estouro horizontal e vertical, o que isso fará é mostrar o número, não importa o quê.
‫Agora, não importa o tamanho aqui, por exemplo, quatro com anidrase para este objeto.
‫OK, então é assim que vai parecer atualmente, talvez não seja a posição perfeita para brincar
‫com ele, talvez arrastá-lo até lá.
‫Então, a posição Y de zero, acho que deve ser em torno de bom.
‫Agora vamos mudar a cor do texto.
‫Vamos torná-lo uma cor laranja ou laranja.
‫Assim tudo, vejamos, não há zero, é claro, nosso fundo não parece mais tão bonito.
‫Precisamos mudar o cenário de nosso jogo, mas pelo menos temos nosso córtex.
‫Portanto, agora vamos duplicar esse texto e chamá-lo de texto de alta pontuação.
‫E agora vamos mudar o texto de pontuação máxima.
‫Vamos arrastá-lo para o fundo e inserir o zero do Best Colon.
‫E você pode ver que isso é, obviamente, muito grande.
‫Então, vamos reduzir isso para talvez 36.
‫Isso parece muito melhor no primeiro zero do jogo.
‫OK, por enquanto, vamos talvez mudar o fundo de nossa câmera principal.
‫Então agora é.
‫Essa cor, essa cor laranja amarronzada, e talvez isso fique melhor, ou por enquanto, está bom.
‫Acho que está melhor por enquanto.
‫Agora, para deixar nosso número um pouco mais legal, o que podemos fazer é adicionar um esboço para que você
‫possa ir aqui para a IU.
‫Adicione o componente, os efeitos da IU e você encontrará o esboço aqui.
‫Bem, isso vai fazer é adicionar um esboço ao seu jogo para que você possa ou ao seu texto e você
‫possa fazer assim.
‫Como você pode ver como você pode criar uma borda, uma borda de contorno para sua pontuação, envie o texto de sua pontuação mais alta aqui.
‫Ninguém faria sentido se a câmera principal, por exemplo, fosse uma cor brilhante, então uma preta
‫ficaria melhor.
‫Portanto, se for como esta cor, por exemplo, talvez a partitura deva ter um efeito.
‫Cor de preto.
‫Então eu acho que parece muito melhor do que o texto do ensino médio deveria ter um também.
‫Então, vamos adicionar U.
‫Eu efeito o contorno e como você pode ver agora, eles parecem muito melhores.
‫Tudo bem.
‫Portanto, agora vamos implementar nosso texto de pontuação em nosso código.
‫Portanto, nosso gerenciador de jogo já espera um texto de pontuação para que possamos arrastá-lo para lá e nossa pontuação atual
‫será zero.
‫Então, se definirmos para cinco, por exemplo, vamos dar uma olhada no que acontece.
‫Na verdade, isso disse que a cinco em jogo para ver que nada acontece ainda, então precisaremos somar pontuação.
‫Então, o que significa que precisaremos chamar esse método aqui, esse método de pontuação aumentada em nosso script de frutas.
‫Portanto, sempre que criamos uma fruta fatiada, isso significa que obtivemos uma pontuação adicional.
‫Então, para fazer isso, vamos adicionar localizar objeto
‫do tipo gerenciador de jogos e aumentar a pontuação.
‫Portanto, agora isso aumentará a pontuação sempre que cortarmos uma fruta.
‫Tudo bem.
‫Então agora vamos testar.
‫Vamos começar o jogo.
‫E vamos cortar nossas frutas e, como você pode ver, nossa pontuação aumenta em dois a cada vez,
‫e talvez queiramos ter valores diferentes com base na fruta que cortamos atualmente.
‫Cortamos apenas laranjas, mas talvez queiramos cortar outros objetos também.
‫Então, também gostaríamos de ter valores diferentes, por exemplo.
‫Então, atualmente, vamos apenas atribuir três aqui.
‫Agora, é claro, obteremos um erro porque o próprio gerenciador de jogo não sabe o que esses três
‫devem fazer.
‫Então, vamos adicionar um ponto final aqui e agora.
‫Em vez de dizer pontuação mais dois mais igual a dois, simplesmente aumentamos os pontos atribuídos.
‫Portanto, em nosso caso agora, serão três.
‫Portanto, cada vez que corremos ou cortamos uma fruta, agora ganharemos três pontos.
‫Então, vamos verificar isso bem rápido, se for verdade.
‫Então.
‫Vamos cortar uma fruta e agora temos três pontos.
‫Em seguida, precisamos adicionar uma funcionalidade que interrompa o jogo porque agora podemos jogar o jogo indefinidamente e vamos
‫ganhar pontos constantemente e não há punição por qualquer comportamento.
‫E, claro, queremos mudar isso.
‫E o Fruit Ninja, geralmente feito pelo bomp ou pelo cronômetro.
‫Portanto, se o cronômetro se esgotar, o jogo será interrompido ou, se houver um obstáculo, o cronômetro também será interrompido.
‫Então, vamos adicionar a bomba ao nosso jogo.
‫Então, vamos para a cena.
‫Mas vamos abrir nossa pasta de modelos e aqui está a bomba.
‫Tudo bem, agora vamos entrar em uma cena sua e arrastar a bomba para o nosso jogo.
‫Bem, na verdade é muito grande, então vamos nos livrar dele novamente.
‫Portanto, vamos deletar a bomba e ir para o nosso modelo de bomba.
‫Agora vamos mudar o fator de escala para todos os pontos três e aplicar isso.
‫E agora podemos direcionar o BOMP.
‫E acho que esse tamanho é muito melhor.
‫Portanto, agora vamos adicionar alguns componentes a ele.
‫Por exemplo, uma física para o corpo rígido e uma caixa 2D física ou, na verdade, colisor de círculo aqui.
‫Isso deve estar bem.
‫Tudo bem.
‫O colisor se encaixa bem, eu acho.
‫Tudo bem.
‫Então, o que queremos que aconteça se encontrarmos um solavanco?
‫Bem, queremos pausar o jogo e mostrá-lo na tela ou algo parecido.
‫Então, vamos adicionar um script à nossa bomba.
‫Então, vou adicionar um novo script e vou chamá-lo de script de uma bomba ou apenas bomba.
‫E agora que está aberto o script de bomba aqui, nós adicionaremos um método 2D de entrada no gatilho.
‫Portanto, sempre que acertamos a bomba, queremos ver se a lâmina nos acertou.
‫Então Blade B é
‫igual a colisão que na verdade esta colisão é aquela colisão aqui, colisão que obtém componentes e lâmina.
‫Então, o que isso significa, bem, já vimos esse código.
‫Mas o que isso significa se o objeto que foi acionado ou atingido nos acionou, se for a lâmina, então
‫faça algo.
‫E se não for a lâmina, volte.
‫Portanto, se não for retornado, mas se for B, queremos encontrar um objeto do tipo gerenciador de jogos.
‫Então, queremos acessar nosso gerenciador de jogo e chamar um método dele.
‫Então, digamos em uma explosão de bomba.
‫Portanto, sempre que atingimos o obstáculo agora, ele reclama que não existe nenhum método chamado para bombardear e encontraremos
‫esse método em nosso gerenciador de jogo ou precisamos criar esse método e o gerenciador de jogo.
‫Então, vamos criar esse método void on bombe hit e que deve ser público para que possamos acessá-lo de fora,
‫é claro.
‫Por enquanto, digamos apenas um golpe de Bumpus.
‫Então, depure aquele registro bombeirado.
‫Então, vamos salvar esse script, vamos salvar o script também.
‫Agora vemos que o erro não está mais lá.
‫Agora vamos testar isso.
‫Então vamos voltar.
‫Na verdade, vamos direcionar o script Bomp para nossa pasta de scripts enquanto estamos nisso.
‫E agora vamos rodar o jogo e ver se acerto.
‫Na verdade, a bomba estava se movendo muito rápido, então vou empurrá-la para o topo para que eu possa realmente
‫fazer o que posso fazer agora, desativar o.
‫Gravidade, digamos, escala zero de gravidade.
‫E vamos ver o que acontece.
‫E posso direcionar ou acertar a bomba.
‫Na verdade, nada vai acontecer, é claro, tão indignado quanto não há gatilho no colisor do Círculo.
‫Agora, vamos ver mais uma vez o que acontece agora.
‫E como você pode ver, Bompard é chamado toda vez que eu passo pela colisão.
‫Tudo bem.
‫Agora podemos mudar a escala de gravidade para um novamente, isso foi apenas para fins de teste e agora nossa bomba
‫deve funcionar.
‫Agora, o que queremos fazer é parar o jogo sempre que isso acontecer, então podemos apenas dizer que a escala de
‫tempo ponto-tempo é igual a zero.
‫Isso só vai parar o jogo.
‫Portanto, desta vez, essa escala de tempo é em geral uma funcionalidade que permite reduzir a velocidade do seu jogo, então zero significa que
‫não há velocidade alguma, o que significa que não há movimento e você para o jogo.
‫E um seria você tem a velocidade normal.
‫Portanto, o tempo, a escala um é o valor padrão e a escala zero é, por exemplo, para parar o jogo.
‫Então, vamos salvar esse script e verificar novamente e ver se consigo acertar a bomba com rapidez suficiente.
‫A fim de parar o jogo e como você pode ver, eu corri através dele e minhas bombas eram na verdade minhas frutas paradas
‫e as bombas paradas também.
‫Tudo bem.
‫Agora temos apenas uma bomba.
‫Portanto, não há problema em uma bomba, mas também queremos gerar bombas aleatoriamente.
‫Para fazer isso, precisamos voltar ao nosso objeto de jogo do spawner.
‫Portanto, nosso roteiro é melhor dito.
‫Então, vamos para o script Sponer.
‫E, atualmente, só temos uma fruta para desovar, então só podemos desovar um tipo de fruta.
‫Nesse caso, é uma laranja.
‫Mas o que queremos é ser capazes de gerar laranjas, bananas, tudo o que pensamos e
‫também gerar bombas.
‫E para fazer isso, precisamos mudar essa fruta para gerar uma matriz, que é uma matriz de objetos do
‫jogo.
‫Então vamos adicionar os colchetes e mudar isso para objetos para desovar, porque não são apenas frutas, são
‫objetos em geral.
‫Agora, é claro, aqui temos um erro porque tentamos gerar uma fruta simples e esse método não está
‫mais disponível.
‫Portanto, o que precisamos fazer é criar aleatoriamente um objeto de jogo, que é uma bomba ou
‫outra fruta.
‫E então simplesmente dizemos, OK, incentive isso.
‫Então, vamos prosseguir e fazer isso, vamos criar um objeto de jogo que é chamado
‫de buraco G e disse isso, você sabe, e então temos um valor aleatório, então vamos criar um intervalo de valor aleatório.
‫Queremos criar aleatoriamente diferentes tipos de frutas ou diferentes tipos de objetos de jogo.
‫Por exemplo, a bomba deve gerar com menos frequência do que qualquer outra coisa.
‫OK, então o que vou dizer aqui, se P for menor que 10, porque o valor pode estar entre zero e cem, então se for menor
‫que 10, então eu quero gerar uma bomba.
‫Portanto, a chance de uma bomba é de cerca de 10 por cento ou a chance de uma bomba de títulos aparecer.
‫Então, vou apenas dizer, puxa, tudo são objetos para desovar na posição zero.
‫Portanto, agora, é claro, terei que cuidar disso ou preciso colocar a bomba na
‫posição zero e de outra forma.
‫Então, eu quero definir uma meta com objetos para desovar com um intervalo aleatório entre um e o comprimento dos objetos para desovar.
‫Então isso vai servir com uma chance de 10 por cento.
‫Vou criar um vínculo.
‫E com uma chance de 90 por cento, vou criar um tipo diferente
‫de fruta e aqui, é claro, preciso usar chaves porque este é um índice ao qual estamos tentando atribuir isso.
‫OK, então, mais uma vez, 10 por cento de chance de ser uma saliência e 90 por cento de chance de ser
‫algo aleatório de todos os outros objetos para gerar que atribuímos.
‫E, claro, não instanciamos mais uma fruta para gerar.
‫Nós instanciamos esse objeto de jogo.
‫Claro que você poderia criar um objeto para gerar o que você chama de frutas para gerar.
‫E então você poderia, é claro, dizer bomba de objeto de jogo público.
‫E então você poderia simplesmente atribuir a bomba aqui e agora alterar Geode para ser Bamp aqui.
‫Isso seria uma opção.
‫Claro, aqui seu intervalo seria de zero a algum lugar.
‫Essa seria outra opção.
‫Talvez essa seja uma opção um pouco mais intuitiva, porque a bomba é um tipo de fruta muito específico.
‫E tudo o mais que adicionarmos, podemos adicionar como quisermos.
‫Porque da outra maneira que eu estava apenas mostrando a vocês, sempre teríamos que ter cuidado para atribuir
‫a bomba ao primeiro local.
‫E sabemos disso porque criamos o código.
‫Mas se outra pessoa começar a executar o código ou editar o código, ela pode ficar confusa sobre isso.
‫Tudo bem.
‫Então, agora temos certeza, OK, vai ser a bomba aqui.
‫Agora vamos salvar isso.
‫E vamos voltar para a unidade.
‫Lá você verá o que está acontecendo, então nosso criador deverá obter frutas para desovar.
‫Atualmente é apenas a laranja e depois de alguns segundos, deve mudar de fruta desanimada para objetos
‫para desovar e BAMP.
‫Tudo bem.
‫Portanto, há a bomba e os objetos para desovar.
‫E só direi que atualmente será um objeto que desejo gerar.
‫E agora vamos para nossos pré-fabricados e vamos arrastar a laranja para lá.
‫Portanto, o spawner direciona a laranja para aqui.
‫E agora sobre a saliência, na verdade, não temos uma saliência pré-fabricada ainda, então vamos criar
‫uma ligação pré-fabricada, vamos arrastar a saliência para nosso suporte pré-fabricado e agora vamos arrastar essa saliência para nosso spawner.
‫Para testar isso, talvez devêssemos definir o valor para 50 aqui, de modo que haja 50 50 de chance
‫de uma bomba explodir.
‫Então, só para ver se há bombas de onde as bombas vêm em geral.
‫Tudo bem.
‫Portanto, há uma bomba.
‫Laranjas, palmas, laranjas, palmas das mãos.
‫E se eu acerto um solavanco, bem, eu acerto do lado de fora, mas acerto e agora, boom, o jogo para.
‫Então agora vamos ver se nós.
‫Bem, vamos definir isso de volta para dez.
‫Isso é melhor.
‫E agora a chance de uma bomba explodir é de apenas 10%.
‫Claro.
‫E como você vê, laranjas, laranjas, laranjas, e então nós ganhamos pontos o tempo todo, em um ponto uma bomba
‫pode explodir.
‫Até agora, nenhum estava lá.
‫Na verdade, vamos, Westerbork, como você pode ver, essa é a coisa com chancers, certo?
‫As chances são apenas chances.
‫Pode acontecer que eu obtenha zilhões de laranjas aqui antes de obter um caroço, enquanto a probabilidade é muito baixa e
‫há um perfeito.
‫Tudo bem.
‫Então demorou um pouco.
‫Como você pode ver, eu já matei 40 laranjas antes de ter uma colisão, o que significa 10 por cento.
‫Bem, é 10 por cento.
‫Isso pode acontecer a qualquer momento.
‫E só aconteceu depois de quase 40 ou talvez até 50, acho que até 50 laranjas, porque não
‫acertei todas.
‫Tudo bem.
‫Então, eu diria que vamos para o próximo vídeo, onde veremos como terminar o jogo e
‫reiniciá-lo.
‫Então, vejo você lá.