Transcrições
1. Introdução #1: Olá e bem-vindo a este pequeno vídeo de introdução sobre como criar um estilo Tetris blocos três jogo D. Em uma unidade neste curso, você vai aprender a animar as coisas, como a interação com botões funciona. Como eu fiz um projeto, um jogo completo Tetris, mas um pouco diferente neste caso. Então o que você vai aprender é como lidar com a câmera com o mouse, que também é mais tarde bom para entrada de toque. Vamos ver como podemos realmente interagir com os botões diretamente e falar com
objetos do jogo . Nós também podemos mudar isso para girar esses blocos em particular aqui e mais como nós
colocá-los também, como mostrar algum tipo de blogueiro fantasma que está representando onde nossa peça real vai parar aqui. Vamos criar esta pequena janela de visualização onde outra câmera está renderizando isso em
algum lugar da cena e você aprende como escondê-la. Então não é visível em nossa cena de jogo Aqui, vamos falar sobre nível de pontuação e camadas para serem concluídas e como interagir com tudo isso. Você está? I elementos Nós vamos aprender também como acelerar as coisas para baixo para que possamos realmente dar ao jogador a possibilidade. Toe, você sabe, jogar o jogo ainda mais rápido. Mais uma vez, podemos projetar como ou você pode projetar um mais tarde. No entanto, você quer que nossos blocos em seus blocos pareçam como você quer agir com eles e assim por diante e assim por diante. E no final, você sempre que vai perder o curso, eu vou fazer este produto rápido. Vamos aprender a criar um joguinho aqui, assim como trazer uma possibilidade de voltar ao menu. Nós vamos bloquear a seleção para o interruptor e acelerar neste ponto porque ele não tem
mais impacto sobre nós somos capazes de voltar para o menu principal do osso. Neste caso, se você está interessado em aprender como este jogo ou tais jogos estão indo trabalhar, como interagir foi tudo isso e como trazer seu conhecimento mais baixo fora da unidade
ainda mais. Se você quiser aprender um pouco mais sobre ver loja ou qualquer outra coisa que você está
interessado no momento , sinta-se livre para participar deste curso e se tornar meu aluno. Eu já tenho mais de 500 alunos que estão fazendo um para os meus cursos ou mesmo este, e nós aprendemos todos os dias. Novo conteúdo. Então, se você quiser ser um desses também livre, livre para participar do curso e vamos começar a aprender como criar lacuna.
2. #2 o conceito: Bem-vindo ao curso. Este é o vídeo conceito sobre como criar um jogo Tetris três D no motor Unity. Meu nome é Dr. Man e eu vou ser seu instrutor nas próximas duas horas onde vamos criar um jogo totalmente funcional baseado no conceito ano alguns anos atrás, em alguns anos de idade já. E vamos falar sobre o que é Tetris se você nunca ouviu falar dele. Agora eu vou esclarecer você e Ted Rece, nós vamos ter um campo de jogo que está nas versões antigas a maior parte do tempo nos dois demônios,
ou para degradar o espaço e neste espaço de grade. Teremos a possibilidade de colocar alguns desses números. Você pode já saber ou não. Vou aprofundar um pouco o conceito em um segundo. Então nós temos essa grade, que geralmente é apenas tão grade de coordenadas X y onde precisamos preencher linhas com esses cabelos , peças de
Tetris ou blocos de Tetris. Então, quando uma linha estiver cheia, então vamos ganhar alguns pontos. Quanto mais linhas você pode pedir um completo em uma rodada, geralmente o mais alto. Ah montante ro vai ser para, ao mesmo tempo para ser limpo, então você obtém o máximo em caso de pontos. Além disso, mais tarde, haverá algum nível envolvido como sempre que você tiver, sempre que você atingir uma pontuação específica, por exemplo, um temporizador específico acabou. O jogo se torna mais rápido, como os blocos estão caindo mais rápido e assim por diante. É forçado a torná-lo ainda mais difícil, e a longo prazo, ou no final, você vai se certificar de tirar o máximo proveito disso. A maioria dos pontos que você pode alcançar sempre que o topo é lê, e você não é capaz de criar rosa mais completa do que fora do curso, o jogo acabou. Vamos falar sobre o que vamos criar. Primeiro, vou continuar explicando sobre todos os blocos já que estamos trabalhando no espaço 3 D. Claro, nós vamos ter vários espaços de ano ou várias coisas que vamos precisar para dar uma olhada em First off, queremos que o jogador dê algum movimento com algumas setas ou qualquer outro tipo off botões para manipular o posição fora do nosso bloco de eixos dentro da grade. Vamos definir mais tarde e quais vão explicar em um momento também. O que também queremos fazer é limitar isso. Então, não somos capazes de exceder a grade em si. Então não podemos deixar o Playfield basicamente a mesma rotação de quatro. Uma vez que temos mais uma vez neste espaço de três D, nós vamos ter que as peças l podem girar no eixo Y e os exes do machado, bem como sobre o excesso de
zad que está em unidade, o acesso à frente. Talvez eu tenha entendido que a cor está errada aqui, mas espero que você entenda a ideia. Você pode girá-los no sentido horário ou anti-horário, então precisamos cuidar disso que também enquanto isso, nós giramos. Nós não excedemos o campo de jogo. Além disso, enquanto isso, vamos fazer todos esses tipos de entradas, como girar em torno de dragões ou realmente mover para a esquerda e para a direita para cima e para baixo ou para a frente e para trás também tem algo que é chamado de força. Nós forçamos o anti-paz que está vindo do topo, caindo uma vez que nós forçá-lo para baixo de vez em quando, como depois de alguns segundos ou o que quisermos como sendo um tempo forçado para forçados a descer. Sempre que isso não é capaz de se mover mais para a direção negativa, claro que quer plantá-lo onde quer que ele esteja e no entanto ele pousou e queremos atualizar
a grade. Então a grelha sabe. Ok, nesta posição onde estes pequenos blocos vão estar, estes são espaços cheios. Portanto, não podemos fazer nada neste momento, exceto apenas verificar se a nossa camada está cheia. Falando na camada, vamos subir e ver onde o que este jogo está olhando. Nós vamos ter um campo de jogo que nós podemos definir mais tarde e seu tamanho como no X y e essa coordenada, bem como nós vamos pegar os blocos gerados e o topo fora do campo de jogo e então movê-lo para baixo pela força explicada nós também queremos criar é algum tipo de pedras fantasmas ou vai blocos que estão mostrando ao jogador o caminho onde este oh respondeu o esporte deste lugar onde esses blocos estão indo para emprestar. Então, para indicar ainda melhor, como isso está indo trabalhar no dedo do pé ou se ele está se encaixando em ah área específica sim, eu diria. Além disso, teremos a possibilidade de girar para o jogo completo em torno de si mesmo. Portanto, precisamos cuidar desta grade em si que é sempre visível para os jogadores. Então, não importa o que a direção está olhando, ele sempre verá algum tipo de um grande para estar no fundo. Sendo um dos tipos de parede ali, vamos falar sobre isso também. Além disso, devemos redimensioná-los mais tarde em Bioko, dependendo de como você ou como preparamos o mandado completo. Então podemos visualizar melhor isso e faremos nossos cálculos diretamente. Baseado nisso, sempre que somos capazes como um jogador para cumprir uma camada completa com blocos como se fosse um único bloco aqui, então nós vamos conseguir uma pontuação. Nós nos livramos do bloco completo e deixar o campo de jogo da empresa cheio para baixo uma vez Então, na verdade, tudo é atualizado e tudo mais. Bruxas, neste caso na segunda fila não cairá no zero na primeira fila aqui
,
e tudo o , resto na rosa superior, que onde quer que as coisas estejam fora do curso, vai cair também, e nós temos,é
claro, é
claro, um overstate jogo, que
significa que sempre que não há nada mais combinando basicamente é uma posição inicial e
não é tão espaço livre na posição inicial. Vamos nos certificar de que o jogo acabou. Então, dependendo mais uma vez da velocidade de queda, isso pode ser muito problemático. Vamos ter, já que estamos criando algum tipo de entrada móvel. Claro, vamos criar alguns botões como onde podemos trocar. Onde está um botão onde podemos mudar se quisermos mover a pedra ou mesmo girar
tão bem quanto vamos fazer. Talvez um segundo botão, que vai representar a velocidade máxima, o significa que podemos definir um para aumentar um máximo sempre que selecionamos este botão mesmo uma vez. Então esta pedra vai cair do seu modo mais alto ou mais rápido, caindo e pousar onde quer que tenha pousado. Então nós temos uma nova bolha neste ponto aqui. Então, sempre que fizermos tudo isso e o conceito agora estiver
claro, é claro que vamos fazer algum código de convulsões. Quero dizer, muita convulsão, acordo aqui. Nesse caso, vamos falar sobre variáveis como flautas desde e uma corda eso inter apenas bowling
flutua mais uma vez. E, sim, variáveis
de string, que levamos para comparar as coisas. Estamos indo juntos para a guerra forçados a sair dela quando às vezes também precisa arredondar para cima ou para baixo. Algumas variáveis de fluxo de ano para ser variáveis de string e assim por diante e assim força. Nós também chamamos Olhe em um que você pediu uma matriz tridimensional. Então, desde que estamos trabalhando neste espaço de três d, nós não temos apenas este tipo como uma matriz de dois D, como um dois D X e Y coordenada foi sempre coordenadores tristes de surdos como fora do campo de jogo. Então, o que significa que precisamos ter uma matriz tridimensional onde vamos armazenar. A informação está desligada. As transformam cada um dos pequenos blocos ali, então podemos realmente comparar se essa camada está cheia, como todos os anos, cada transformação e há uma matriz vai ter um lugar ocupado por lá. Então nós sabemos. Certo, temos uma camada completa ali. Além disso, falamos sobre quatro loops e para cada loop, já que vamos olhar através de cada um dos pequenos blocos de vez em quando vamos colocá-los sempre que verificamos se esse é um lugar possível, como sempre que estamos movendo-o para a esquerda e para a direita para cima e para baixo ou até mesmo girado se houver um lugar
livre e se não houver lugar livre. Claro, queremos ter certeza de que não fazemos o ou desfazemos a última entrada. Portanto, há duas possibilidades. Só não faça isso ou desfaça a última parada aqui. Isso é o que fazemos neste para cada vida em quatro loops que na maioria das vezes ele taxas regra um a matriz em si. Então, a matriz de grade em si para ver onde estamos atualmente e verificá-lo. Também atualizado. Enquanto isso, a sala de raias. Além disso, nós vamos e mais uma vez tomar os quatro cada vida para ele classificar através de todos os
objetos filhos fora de cada um dos blocos ou bloquear sentir um nome
que, o que você quiser. E o último é. Claro, nós vamos criar várias funções que estão nos ajudando a fazer os cálculos dentro
da grade, bem como duplar as deformações ainda como nós estamos indo para criar uma função para o movimento
puro, que é bem pequeno. Você vai ficar impressionado com isso, eu acho. O mesmo para a rotação. Acabamos de enviar um vetor. E apenas verifique se esse vetor é capaz de fazer coisas. Além disso, temos uma função que vai fazer a força para baixo e assim por diante e assim por diante. Tudo isso vai fazer parte do curso. Além disso, mais
uma vez, vamos automatizar o tamanho do campo de jogo, o que significa que vamos criar algum tipo de grão aqui com apenas aviões. E nós vamos escalar esses planos com base nas entradas fora do tamanho que queremos ter em nossa grade. E de acordo com isso, queremos automatizar o tamanho do campo de jogo, que
significa que automaticamente configuramos o apagamento sobre o tamanho, bem como vamos Sim, definir o material, Toby Tyler Herbal e ser sempre um quadrado. E baseado em mais uma vez, quaisquer que sejam essas entradas fora dos inteiros em nossa grade ou em nossa grande configuração real vão ser provavelmente nós vamos fazer algum jogo sobre tela. Talvez nós também fazer algo como sempre que chegamos a este ponto, vamos fazer algumas animações como podemos ser preenchidos a grade completa foi blocos e, em seguida, apenas dar um grande jogo sobre tela na tela. Então o jogador sabe. Esta foi a minha última tela. Provavelmente. Também implementamos algum temporizador. Mesmo que eu não ache que isso seja necessário. Talvez falemos de níveis, bem como mais uma vez. O baseado no nível que vamos ir e, sim, escolher ou diminuir o tempo integral de vez em quando. Tudo isso, e provavelmente mais será visto no curso. Então eu espero vê-lo no curso e sim, começar a criar este tempo fora do jogo.
3. #3 Layout de Unity: Bem-vindo de volta ao curso nesta parte. Só quero falar sobre a união. Deite no crédito rápido. O que significa que sempre que você é novo na unidade, nenhum problema vai fazer apenas um pouco de reserva. Um simples disfarce aqui. Então o que eu quero que Teoh realmente explique para você é como você quer configurar sua tela aqui . Então, basicamente, quer o seu layout? Deve ser sobre nós precisamos ver são três coisas ao mesmo tempo, ou pelo menos quatro. Então, geralmente a unidade começa com a visão da cena e o jogo que você todos ao lado um do outro
aqui , o topo. E assim você vai ver mais ou menos fora da sua tela e assim por diante. E assim forçar o que eu quero acabar com Carajas você é fazê-lo para que você sempre veja o jogo e o sênior ao mesmo tempo. Então, sempre que fizermos mudanças aqui, podemos controlá-las na visualização do jogo. Também quer incentivá-lo a enviar sua relação de aspecto? Nunca, nunca trabalhe no aspecto livre. Tenha certeza. Você trabalha em seis por dez. 16 por nove e nove por 60 Norton por 16 se você não tiver nove por 16 e 10 por seis, e você sempre pode pressionar o mais aqui apenas incluir as taxas de aspecto para isso. O que você também quer fazer é arrastar seu console, que será necessário mais tarde para fins de programação e depuração, bem
como quando fazemos qualquer erro de digitação ou qualquer outra coisa. Queremos ver todas essas coisas listadas de cima a baixo ali, isso certifique-se de ver sempre a consola ao lado da vista de jogo do Mundo vista. Por que eu digo que é Rez. Um simples vamos supor que vamos estar dentro da nossa visão de jogo de um aqui. Nós nunca vemos se isso é algo chegando dentro do milho, então nós sempre precisamos voltar e forçar sempre que estamos mudando o modo. Isso não é absolutamente útil, e é por isso que é necessário, você é realmente um fluxo de trabalho melhor no dedo do pé total. Sempre que você fizer algo com codificação, veja o console ao mesmo tempo, Ecstasy ou os outros. Este bem, você também precisa de nós a janela do inspetor, então sempre que quisermos fazer algumas mudanças rápidas em nossa cena. Por exemplo, encoste na câmera principal aqui. Nós vamos ver sempre para inspecionar a janela. Onde você vai? Um lugar que é totalmente com você se você quiser ter isso do lado esquerdo até você. Se você quiser outras pessoas no lado direito, até você, certifique-se de que elas ocupam os espaços completos da tela. Então você tem uma visão geral mais visual sobre o inspetor e todos os seus componentes, ou pelo menos uma melhor visão geral disso. Além disso, certifique-se de que você sempre vê os mundos da janela do projeto nem sempre necessários para vê-lo . Mas é mais fácil de navegar. Por exemplo, quando precisamos arrastar algo da janela do projeto para a janela da hierarquia, então não faz sentido ter a janela do projeto aqui porque temos o problema obter de qualquer maneira na janela da hierarquia. Então certifique-se que você tem isso, ou eu sou extra como campo extra. Então Inspetor Harry G. Projeto, bem
como o jogo vista vista, bem como o cônsul o aqui separado para o melhor. Eu diria que o melhor fluxo de trabalho do nosso lado aqui. Uma vez que você está pronto e feliz foi a sua configuração e você acha que pode trabalhar assim? Você não pode ir para o canto superior direito e proteger seu layout atual. Eu tenho o meu disse aqui para ser layout Octomom, e eu sempre começar novo basicamente neste layout particular. Se, no entanto, eu já guardei isso antes.
4. Configuração de #4 Playfield: Bem-vindo de volta ao curso nesta parte. Queremos começar a criar nosso campo de jogo. Então o campo de jogo é deter minado por alguns aviões. Mas esses aviões não estão voando em qualquer lugar. Queremos ter certeza de que os visualizamos com base no tamanho ou Playfield. Para fazer isso, vamos primeiro criar um objeto anti jogo. E nós queremos ter certeza de que nós zero este fora apenas pressionando o pequeno G. Arkin e dizer,
reset, reset, ele vai pousar automaticamente em 000 no acesso ao mundo. Isto é importante porque vamos trabalhar nisso durante algum tempo. Além disso, o que você quer fazer é que você quer renomear este para talvez jogar campo ou grit ou o que você gosta totalmente até você. Bem, nós sabemos que queremos fazer é baseado em um campo de jogo. Queremos ter uma parte inferior e, em seguida, algumas paredes que estão representando ou grade de campo de jogo, como eu já expliquei no vídeo conceito. Então vamos lá criar notícias, realmente objetiva, certo? Clique no campo de jogo sempre que ele é selecionado, dedo do pé automaticamente fazer filho dele e queremos criar um avião. Este plano pode levar um segundo a baixo, dependendo da versão da unidade e costurado em vigor. E eu posso vê-lo no centro para automaticamente para o nosso jogo. Objeto. Mas queremos fazer mais tarde. Queremos criar automaticamente o tamanho da quadra e posicionar esta automaticamente com
base em onde quer que nossa grade de campo de jogo esteja. Quando eu agora tenho o controle,
eu posso me encaixar em qualquer outro grande aqui tão bem quanto eu posso ir dentro da escala em escala. O campo de jogo para baixo como você pode ver, um por um representa um plano de tamanho de grade de 10 por 10. Podem subir condados ou podem ver isto nesta linha aqui. Então, sempre que eu colocar em algo como 0,4, você pode ver que o X X agora é quatro quadrados em seu tamanho. Mantenha isso em mente. Vamos precisar disto mais tarde. Farei o mesmo no acesso ao Zad. Eu não toco. Por quê? Porque não tem altura. Mas você também pode ver em aviões. A parte traseira é transparente, absolutamente útil para o nosso jogo no futuro. Desde que a câmera não pode olhar através dele ou realmente pode olhar através dele. E o jogador não vai se distrair com nada. Quando eu quero fazer é segurar o controle e encaixar isso ou encaixar. Arraste isto para este campo um ponto aqui. Mais uma vez, tenha em
mente em uma peça. O campo começa ali. Se quiser manter o controle de onde é a posição do Playfield, você sempre pode usar esses Aikins aqui no Little Year Cube. Nesse caso, eu tenho que dar algo como uma bolha ou apenas uma esfera para indicar. Ok, este é o nosso campo de partida. Então este vai ser o nosso plano inferior. Então eu comecei a renomear este fundo também o que eu quero criar. É um material que está sentado mais tarde no fundo. Mas antes de fazermos isso, nós apenas duplicamos este e criamos para mais sobre a sua forma ou paredes para o nosso campo de jogo do eixo . Então, o que ele pode fazer é a sua seleção inferior e pressione controle de no Mac deve ser Comando E. E, em seguida, nós apenas duplicar isso automaticamente todo o controle baixo novamente e encaixá-lo até que ele tem 90 graus encaixado. Além disso, podemos pressionar W para movê-lo de volta uma vez, por exemplo, e posicioná-lo onde quisermos. Por favor. Se você nunca trabalhou com configurações de encaixe antes, você sempre pode ir aqui, Toe adicionou configurações de encaixe. E aqui você pode colocar quaisquer valores para gostar, por exemplo, por rotação ajustada. Você sempre faz 15 graus em onde quer que o problema de acesso esteja fazendo. Minha escala está definida para 0,1 movimento X Y, e isso é através de 0,5, significa que eu sempre me mover. Partiu metade de uma unidade em unidade. Com isso, se você não sabe onde você está, sempre que você fizer isso livremente, você também pode dizer que eu quero quebrar todos os eixos e eles irão para o próximo ou mais próximo acesso a isso. Então, mais
uma vez, você mantém o controle e ele pode voltar onde quer que você tenha aquele Bom. Agora precisamos nos certificar de que os nomeamos corretamente para não nos distrairmos ou nos confundirmos. Como você pode ver, o blues, um eixo é geralmente o acesso para a frente. Então eu pegaria isso é aquele acesso e tornaria isso como um indicador para nossa direção norte. Então eu vou nomear este um avião ou apenas para nórdico. Claro que sim. Quando agora duplicarmos isso, traga isso para o outro lado, gire em 180 graus e então vamos renomear este 12 s. Isso representa o 1001 como o plano de células. Como você pode ver, onde quer que estejamos olhando ou para isso, aviões são sempre olha aviões Rue. Tenho uma duplicata S. Agora mantenha o controle. Gire 90 graus para a esquerda ou para a direita, importa e mova-o para esta posição aqui. Então este vai ser o nosso avião leste. Ou neste caso, oeste. Assim como um W envia Norcia. Depois vem para leste, sul e oeste. Agora temos um avião oeste. É claro que também
precisamos de um ponto oriental. Vou controlar a duplicação, girar 180 graus e renomear este para E para leste. Você também pode digitar o que quiser e por favor. Agora você pode ver sempre que olhamos regra de sempre tornozelo que estamos olhando de Nós só vemos através das planícies de seus lados traseiros e nós nunca vemos nenhum outro que iria nos
distrair ou o jogador para não ver o que eles querem ou não querem ver. Isso é bastante decente. E basicamente, esta é a base configurada para um campo de jogo. Agora, podemos colocar qualquer material nesses aviões, mas precisamos lidar com todos esses três tipos de forma diferente. Por que três? O fundo terá um material idiota diferente em um azulejo em seu tamanho, bem como
terá . O Leste Ocidental será diferente, bem como Norte e Sul serão diferentes quando
se trata de dimensionamento. Vamos falar sobre isso, mas vamos cuidar do material no próximo vídeo.
5. #5 Material do Playfield: Bem-vindo de volta ao curso nesta parte. Vamos cuidar do material em todos os aviões austríacos. Antes de fazermos isso, quero colocar algumas coisas dentro da janela do meu projeto. Primeiro, seleciono ou destaco ativos. Clique direito. Eu quero criar uma nova pasta, Texturas
frias, porque nós vamos importar, tipo, pelo
menos três deles mais tarde para isso você pode direcionar. Eles fazem isso abrindo a pasta de impostos. Descompacte o material do curso do arquivo zip e arraste todos os três arquivos PNG. Se você gosta, você também pode pegar o material de grão. Isso é totalmente com você. Neste ponto, eu vou beber todos os três para que possamos ver que nós fizemos isso até agora. Também precisamos de uma solda de material onde todos os nossos materiais vão pousar mais tarde sobre o material para todos os cubos ou blocos, bem
como o material para a nossa grade ou para o nosso campo de jogo aqui. Então eu criei uma nova pasta. Chame este material, certifique-se de criar para tudo uma pasta própria. Caso contrário, você mais tarde em metade de uma grande bagunça em sua configuração ou em seu assento. Agora o que você quer fazer é criar um novo material e podemos nomear esta grade
inferior. Isto é importante. Precisamos dividir isso em três peças ou três materiais para duplicar o material que podemos mais tarde no gol e seu controle D como também fizemos dentro do campo de jogo, aqui ou dentro da visão da cena Bem, nós sabemos que queremos fazer é queremos para Antes de duplicar a grade inferior. Queremos configurá-lo para que ele entenda nossa textura e como queremos ver e lidar com isso para uma coisa que vamos para sidra padrão em dois K 19 off unidade. Atualmente, eu estou trabalhando em dois K18 ponto para algo que você quer ter certeza de que você tira onde os seders estão. Está parecendo aqui um pouco diferente. Então não se preocupe com isso. Você sempre pode fazer isso e você vai encontrar o que eu estou falando. Se você não encontrá-lo, fazer uso fora da busca porque levou um 90 agora tem uma pesquisa dentro de seus materiais. Sim, configurar por aqui Então mais uma vez ou estamos procurando é um material que é basicamente desiluminado, mas também é apenas visível, eu acho que aqui e o legado padrão difuso Shader. E como este é um seder transparente, ele vai tirar algumas cores da nossa grade. E também queremos ter certeza de que só temos um general difuso aqui. Difusa significa apenas uma cor lisa com nada mais, mas que também tem uma admitir tem uma base, nosso GP, em que agora podemos trazer o nosso material de grade. Como você pode ver, sempre que giramos aqui, mal
é visto no fundo, certo? Também podemos falar um pouco sobre isso. Você pode ver que já é transparente. Quando soubermos, Pegue este material do grupo inferior e arraste este diretório para o nosso campo inferior. Você pode ver que vemos uma grade como um contorno desta grade de baixo. Nós não vemos nada porque fora dos aviões, como eu já expliquei antes, agora
podemos isso, por exemplo, sempre que temos um quatro por quatro em seu tamanho, podemos fazer uma telha ou quatro por quatro. Isso nos dará como você pode ver, uma grade de quatro por quatro com base nesta textura particular, tipo ou tipo de material. Uma vez que não queremos receber sombras e coisas assim, podemos sempre ir para o fundo aqui para o plano inferior e dizer, receber sombras e lançar sombras de escritório. Bem, mesmo para os outros que já podemos fazer isso acabou de enviar, receber sombras fora e custar sombras fora, já que mais uma vez não precisamos delas. Ainda os vemos aqui ou não é um acordo. É mais como um ah cortado ou cair fora, que está vindo da câmera. Mas não precisamos nos preocupar com isso no futuro. Uma vez que já temos o material do grupo inferior feito, precisamos criar um para o Norte e o Sul, bem como para o Leste Ocidental. Então nós apenas duvidamos Kate isso e nós atingimos F dois para renomear este material dentro do nosso projeto para que
possamos dizer e menos s ou algo semelhante grão. Então este vai ser o material de grade do Norte 1000. Você também pode mais uma vez dobrar Kate isso, e renomear isso por F dois, que vai ser nosso W menos e material grão. Então agora selecionamos n e s e arrastamos nosso material para eles. Se n não recebê-lo, então você apenas arrastá-lo diretamente para ele como único mesmo aqui, este é o W. Este é o único que queremos ter certeza de que nós levamos o material W E para estas duas paredes
ali . E agora temos basicamente tudo preparado para os materiais. Se você gosta. Você também pode comparar todas essas configurações dentro da visualização do jogo para simplesmente acionar um processo. Vou escolher o meu sénior aqui. Traga meu tipo campo de jogo fora, inserir o centro, Selecione a câmera principal jogo Object line vis view. O que você vai ver é que a câmera vai pegar a mesma informação que vamos ver agora aqui na cena, dentro da
visão do jogo. Além disso, se você gosta de Teoh, você já pode se livrar da skybox e escolher uma cor sólida e talvez fazer um
fundo preto para fins visuais. Se você agora vai maximizar em jogo e prosperar jogo. Você deve ver uma grão completa aqui.
6. #6 de programação a Grids 1 1: Bem-vindo de volta ao curso nesta parte. Queremos tomar cuidado fora da rede. Então, queremos começar a criar nosso primeiro código, que é cuidar do tamanho do Playfield com base nas configurações que vamos
dar a isso. Então, primeiro nós vamos detentor de ativos e criar uma nova pasta chamada Scripts, e eles são quase criptas vão estar dentro abrir este, corretamente criando você ver loja espalhar e chamar isso o que você quiser. Talvez Playfield Grid não seja um bom nome porque a unidade tem uma nova função, que já é chamada de grão. Então, certifique-se de nomeá-lo campo de jogo ou a grade ou qualquer outra coisa, mas não grão sozinho, porque haverá problemas em versões mais recentes fora da unidade. Selecione seu objeto de jogo de campo de jogo e arraste o campo de jogo para ele. Então, todas as nossas configurações que vamos fazer sobre o campo de jogo serão emprestadas dentro da
grade do campo de jogo . Clique duas vezes. Há um nome cinzento aqui para abrir o script, Amona desenvolveu um estúdio visual sobre o que quer que esteja a usar. Estou usando uma parte de uma nova versão moral desenvolvida, então vou ter que abrir o campo de jogo. Veja o script de envio aqui. Tenho que fazer zoom. Slide lance para que ele possa sti c coisas melhor e espero bom o suficiente. O que? Queremos fazer isso fora. Aqui está a primeira coisa que precisamos declarar que todos os nossos aviões iriam ter como
objetos de jogo , e precisamos arrastá-los para dentro, overplay riud para que ele possa cuidar disso. Vamos fazer uso da palavra-chave pública. Então é público dentro do inspetor. Podemos excessos sem problemas. Então, nesse caso, ele vai ser o tipo de objeto de jogo. Vamos dar um nome a este? A 1ª 1 no plano inferior. Então é aqui que nosso plano de fundo precisa ser arrastado. Também precisamos de um para um avião norte, sul, leste e oeste. O que podemos fazer é simplesmente encontrar esse progresso colocando todas essas coisas e uma
linha para que possamos dizer. E vírgula s vírgula w vírgula e ponto e vírgula também pode colocar tudo atrás do plano inferior. Então só temos um indicador para isso. Por enquanto, eu me livro de iniciar atualização. Nós vamos cuidar disso um pouco mais tarde sobre os amigos mais importantes e nós vamos
falar sobre isso está chegando em um segundo? Nós também queremos definir já é nossos grãos, altos e qualquer que seja o nosso grupo vai ser sobre para um eu, precisamos de três muito Abel de. Precisamos de um X y e essa coordenada para o tamanho em si. Podemos fazê-lo de três maneiras diferentes. Nós podemos criar três único inter just, ou nós também podemos colocar todas essas informações em um vetor. O problema era, o reitor é que nunca é arredondado. Então vamos usar muitas vezes indigentes. Então vamos nomear este inter jizz grão um tamanho X eu vou fazer o s e o X maior para que possamos ver as coisas melhor. E já que sou preguiçoso, copie o nome. Então eu selecionei e colei aqui e renomeie-o para por que vírgulas adicionar. Então nós vamos ser um pouco mais eficientes na criação de casaco sempre que pudéssemos duplicar coisas Nós também fazemos é criar nossa grade já, que é mais uma vez um direito tridimensional para X y e zap coordenadas. Então nossos raios de tipo se transformam. Desde que queremos armazenar, transformar informações como posições. E então os raios sempre declararam com colchetes, este seria um raio unidimensional era uma vírgula no meio. Seria uma matriz bidimensional com outra mais calma. Vai ser um raio tridimensional. Podemos dar-lhe um nome, por exemplo, o grão. Não fazemos nada sobre a rede no momento. Só queremos ter certeza de que já temos isso. E não confunda, fique confuso mais tarde. Agora o que? Nós queremos fazer isso. Desde cada configuração até agora, vamos criar uma nova função. Isto é, ah, função do tipo ponto. Já que não devolve nada. E agora, quero dizer, você precisa ter cuidado. É chamado em aparelhos de drone. Esta é uma função fornecida unidade que você precisa digitar 100% correto. Como Big Go Big Retrato G. Caso contrário, não está funcionando. Certifique-se de que você tem que queremos fazer é queremos redimensionar agora ou plano inferior com base na importação no machado e aqueles que tamanho. Como é que fazemos isto? Bem,
andro gizmos comanda a hora mundial em tempo de editor. Então o que podemos fazer é sempre que estivermos no editor do Unity e mudar alguns valores, podemos atualizar o que vemos lá, aparelhos do
Andro não devem ser colocados ativos no construído, então vamos cuidar disso mais tarde. Então nós queremos fazer é no início. Uma vez que está atualmente executando o tempo de lã no tempo do editor, você quer ter certeza de que, se o painel inferior não é igual a saber ou plano inferior não é igual a saber significa que temos arrastado qualquer coisa dentro já dentro do slot plano inferior. Então queremos redimensionar este plano inferior mais uma vez, com base na entrada para as coisas, queremos redimensioná-lo. Vou fazer um comentário aqui redimensionar o avião Fordham quando não precisamos criar um novo vetor três, que vai levar a escala para todos nós cuidaremos da escala para nós. Eu só o nome scaler, e nós definimos este igual para ser um novo do Vector 3. E entre parênteses abertas e
fechadas, agora
podemos fazer o que quisermos para redimensionar nosso vetor. Nesse caso, podemos tomar nosso tamanho de grade X, e queremos fazer com atos de tamanho de grade. Uma vez que um avião é sempre 10 em seu tamanho e fazer o seu 100.1 seria uma unidade nós vamos precisar dividir isso por 10 foi a possibilidade de escala. Agora, vez que nós realmente dividimos que podemos entrar em uma linha porque o tamanho da grade X está fora do tipo em GIA e uma introdução, que é talvez apenas um tamanho fora 10 ou cinco, e nós dividimos cinco por 10. Se não for um flutuador, provavelmente não nos dá uma resposta ou número correto. Então o que nós vamos fazer é realmente escrever esta entrevista,
uh, uh, em um carro alegórico. Então, entre parênteses, na frente disso, vamos definir o tamanho do grupo X dividido por 10 em flutuar em vez de um inteiro. O vetor pode lidar com isso. Então não se preocupe com isso. Quando eu quero fazer é queremos Toe dito: Por que e por que é a altura? Não queremos fazer nada com isso. Então é mantê-lo para ser definido como um, e agora vamos fazer o mesmo para o valor Zad ao longo de anos. Copiei esta parte completa e trago isto para a última área. Mas precisamos renomear este para ser tamanho grão que dividido por 10 e vamos entrar linha com semi coluna Agora nós apenas escalar informações tão realmente armazenadas com base na entrada, atos e entrada que na escala de ator para re escala agora são plano inferior. Vamos precisar falar com ele para que possa dizer que o plano inferior não. E agora você pega a escala local que fica em suas informações de transformação. Então Blaine fundo não se transformar. A escala Don't Local é igual a qualquer scaler que vai nos dizer, mas isso não vai ser suficiente. Nós também precisamos reposicionar o plano inferior porque sempre que ele está se tornando é maior e o ponto de pivô do plano está no centro fora do plano. Precisamos reposicioná-lo com base no tamanho relacionado ao nosso objeto de jogo de campo de jogo. Como é que fazemos isto? Na verdade, podemos mais uma vez falar com o plano inferior. Agora dizemos, não se transforme. A posição é igual e agora precisamos recalcular a reposição completa da pessoa com base no tamanho. Então dizemos novos SSRIs vetoriais. Então, mais uma vez, colocamos em um novo vetor três parênteses abertas e agora tomamos posição transcendente dot exe, que vai ser a posição fora do nosso campo de jogo são um pequeno objeto de jogo que está segurando este informação aqui. Então este é mais uma vez o objeto do jogo atual em que estamos sentados. Agora precisamos adicionar o tamanho fora do tamanho da grade X, e precisamos dividir isso por dois. E provavelmente teremos outro problema aqui desde quando temos um 5. Ah, este caso. Então, quando os tamanhos de grão cinco em, dividimos isso por dois nós só temos um dois ou três. Então nós provavelmente queremos pegar isso e nos converter em um flutuador s Bem, isso agora está se tornando um rez ao longo de cálculo vetorial aqui, então nós podemos realmente colocar todas as coisas próximas na próxima linha se quisermos. Então, nós apenas acertamos vírgula ou entramos neste caso, e tiramos isso por um ano. Leve o aprendiz com você e agora podemos digitar para a transformação. Não posicione, não por quê? E o porquê não está mudando em sua altura, vamos ficar na posição Y. E agora também precisamos fazer o mesmo para aqueles que valorizam. Então transforme, não posicione. Não, neste caso, o que a posição fora do nosso objeto de jogo atual. E agora adicionamos o tamanho da grade. Isso é para ele? Então, mais o tamanho da grade que divide isso por dois. E então, é
claro, nós digitamos este em um carro alegórico. Mais uma vez, minha tela é um pouco pequena demais. Eu não gosto de rolar por aí. Então eu trouxe isso aqui para que você possa ler. Espero que este seja melhor. E o que finalmente fazemos é, claro, terminar a linha era um ponto e vírgula. Então, mais uma vez, vamos reposicionar o avião, que ele tem. É uma base de ano. O Vector vai estar no centro, fora do avião. Vamos falar sobre isso em um segundo. Então, adicionamos o tamanho de quatro grade dividido por dois. Então criticar X dividido por dois. É a metade fora do tamanho do avião ou sim, na verdade, a metade do tamanho normal nesse caso, e então vamos trazer isso ou adicionar isso ao nosso valor atual. Então nossa informação atual aqui por que eu não vou ser tocado porque é a altura fora . O avião vai ficar onde quer que esteja. Onde sobre o que é Playfield, para que ele sempre acompanhe. E o valor triste mais uma vez está relacionado ao tamanho da grade que dividido por dois convertidos para o flutuador. Então também temos números de vírgula ali. Então, sempre que temos um cinco que tem zero vírgula cinco adicionado a este valor Vamos testar este fora. Vamos para a nossa janela de união. Não se esqueça de salvar o script, sempre seguro sempre que você tiver feito quaisquer alterações e assim que colocar no plano inferior aqui podemos ver algo que significa que re tamanho é 2000 Como você pode ver, o plano inferior é agora completamente escola diminuiu para 000 você considera. Excepto que por que é que vai continuar a ser um agora? Quando queremos fazer é insinuar campo queremos Gana enviado. Eu quero grande tamanho para antes e por que realmente não é importante. Mas esse valor será quatro. E agora você pode ver que mais uma vez cabe aqui dentro. Então, dependendo agora do tamanho da grade. Podemos escalar isto de 1 a 12. Então, no fundo, o avião tem agora uma escala de 1,2. Muito bom. Então é isso que queremos. Agora só precisamos cuidar da escala do material. Vou trazer este de volta para quatro por quatro. Então ainda é compatível, e na próxima parte, vamos escalar o material do plano inferior. Não se esqueça de salvar sua cena e por favor. Seguro muitas vezes sempre que você faz mudanças, a polícia sempre segura.
7. #7 Grids Playfield Grid: 2: Bem-vindo de volta ao curso nesta parte. Queremos ter certeza de que o material no plano inferior pode recalcular seu ladrilhos automaticamente sempre que estamos redimensionando X coordenadas exatas. Como é que fazemos isto? Vamos abrir-nos. Quero o roteiro da Playfield e depois quero ser desenhado. A droga é mais Langton. Precisamos de re escalar o nosso material ou pedir-lhes que precisamos de dedo do pé re telha. Este eu vou fazer outro material de comando. Então, como fazemos isso? Como uma forma, é claro. Precisamos falar com o plano inferior e pegar seu componente do tipo medida Endara e
cuidar disso. Então, o avião inferior não. Agora queremos obter seu componente fora do tipo renderizadores de bagunça, que contém todos os materiais e coisas assim. Quando dissermos “não “e aqui vamos levar este material partilhado. Normalmente, também devemos ser capazes de levar o material normal. E então nós dizemos, não escala textura principal este e queremos redimensionar esta textura para ser qualquer coisa e seguida, nós criamos novo vetor para nossas configurações estão em tamanho de grade X Ingrid tamanho Zet. Então tamanho de grão X vírgula tamanho da grade Zad parece bom. Não se esqueça de salvar e vamos voltar à unidade. Deixe o compilador ser executado. Você sempre vê quando os compiladores em execução no canto inferior direito. E agora vamos, por exemplo, pegar uma grade de 10 por 10. O que ele pode ver é que o plano inferior recalcula automaticamente o tamanho da grade ou o
ladrilho do material tem que ser. E agora também podemos fazer o mesmo para os outros aqui. Mais uma vez, isto é importante. Então é assim que podemos criar uma grade visualizada completa sem
tocá-la mais. Na próxima parte, copiamos e colamos coisas para os aviões Norte, Sul, Sul,
Oeste e Leste.
8. #8 a programação de Playfield Grids 3: Bem-vindo de volta ao curso nesta parte. Vamos cuidar dos portos do Nordeste 1000 Oeste. Significa que queremos assustá-los para cima e para baixo no eixo Y com base na altura fora do nosso campo de jogo, bem como reposicioná-los com base em se eles têm que estar relacionados com overplay, sentir ponto ali. Isso é abrir o roteiro para o nosso campo de jogo. E vamos entrar nas nossas próprias drogas. A maioria funciona novamente. Como você pode ver, basicamente, o que precisamos fazer é fazer o mesmo para todos os outros. Mas precisamos mudar. Alguns pontos do ano que precisamos fazer é, no começo, copiar todas essas coisas para o fundo e trazer isso aqui. Nesse caso, vou começar com o Norte na linha 1. Então a escala é basicamente a mesma. Vamos trazer uma extensão daquele avião. Este avião não está a escalar o valor Zad trazido. Isso é escalar Onley alto para o “Por que você vai?” Então vamos precisar mudar essa, Toby. Tamanho da grade. Por quê? Porque vai ser a altura mais uma vez. E o resto é baseado no acesso X da nossa entrada aqui. Uma vez que mais uma vez o avião está sentado quando este é o eixo X, você sempre pode ver que por aqui é apenas re dimensionando este lado como da esquerda para a direita em seu acesso X. E está renunciando este tamanho baseado no porquê Williams da altura, como você pode ver, é o porquê fora do valor y ali. É por isso que precisamos mudar este aqui para ser baseado no porquê e não no
tamanho definido grão próximo, como queremos redimensioná-lo com base na entrada. Então dizemos e não transcende escala local é igual a scaler. Agora precisamos reposicionar isso e isso vai ser um pouco mais Sim, ácido complicado lá porque precisamos ter certeza que ele sempre adiciona o tamanho completo em X e o tamanho completo. 0,5 tamanho fora do X X é preto. Sua posição baseada na transformação e seu tamanho completo em Zad e acesso basicamente e não dividido por dois. Então, como fazemos isso? Precisamos fazer o mesmo. Por aqui, adicionamos ao X X é sua metade fora de seu tamanho mais uma vez porque o ponto de pivô está no centro fora do plano real, vamos redimensionar o valor por que vai ser cuidado re calculado com base na metade fora do Grits. Por que o valor basicamente assim nesse caso teria transformado nossa posição. Não sei por quê? E agora vamos adicionar metade do tamanho da grelha. Então eu vou digitar isso no carro alegórico, digamos tamanho de grão. Por que dividir isso por dois? E o triste valor, como expliquei antes, será apenas o completo. Esse valor mais o tamanho completo da grade de anos. Vamos ser capazes de ler este artigo aqui? Então nós só transformamos posições que mais criticaram isso e isso é tudo o que precisamos mudar
para isso e para a medida. Hendra é basicamente baseado no tamanho da grade, machado e tamanho da grão. Por quê? Mais uma vez, estamos renderizando atos e por que coordenar e não X e que, como fizemos na parte inferior fora curso, precisamos ter certeza de que não estamos reposicionando o plano inferior. Queremos ter certeza de que nos reposicionamos como nosso avião norte. mesmo para a telha. Por aqui. Vamos tirar o material triste do azulejo da textura principal de n como seu componente . Não se esqueça de salvar e vamos Banco para a unidade e quer compilar é feito em execução. Devemos ver tudo atualizado corretamente. E uma vez que não definimos nenhum porquê, bem, você em sua altura, somos capazes de fazê-lo e podemos cumprir a telha aqui novamente sempre que formos mais alto. Agora, o que é oito, por exemplo? Você pode ver o ladrilho funciona como tem que, e o oposto que vai ser este ali também azulejos por oito porque fora da configuração ali. Então, para a área 1000, podemos basicamente fazer o mesmo que fizemos com a do norte. Então vamos voltar à unidade. E basicamente o que podemos fazer é pegar, sempre cantar do norte e trazer as mesmas coisas para as celas em um. Então copiamos o depoimento completo aqui e trazemos isso para lá. Então, o que sabemos é que queremos verificar por S, então se S não for igual a zero, vamos renomear aqui Toby S também. O mesmo aqui para o reposicionamento e o mesmo aqui para o material. Basicamente, este material é compartilhado por n Então geralmente nós nem sequer precisamos de re telha este material porque ele está basicamente fazendo o mesmo que fazemos no norte. Eu ordeno este para mostrar que você não se esqueça de deixar o compilador ser executado, e ele deve automaticamente redimensionar e reposicionar-se sempre que for definido dentro de um campo de
jogo. Então nós nos arrastamos para isso, espere um segundo, mas nós não vemos nada porque nós precisamos mudar a posição de volta para aqui para que nós não trazê-lo para o tamanho total fora do valor triste. Deixamos assim,
esse valor, onde quer que esteja. Então vamos nos livrar dessa última parte ali assim. Não te esqueças de estar seguro. Volte para a unidade. Deixe o compilador executar e você vê-lo automaticamente se atualiza quando sabemos mais uma vez aumentar com o valor Y aqui. A telha do material compartilhado no Norte e no avião 1000 estarão 100% corretos. Então eu vou reduzir este para quatro novamente ou provavelmente algo como seis. Então vemos a diferença mais tarde no oeste e no avião leste também. Mas é isso que vamos cuidar no próximo vídeo.
9. #9 Codificando a grade Playfield 4: Bem-vindo de volta ao curso nesta parte. Nós vamos cuidar do avião Leste e Oeste em quase roteiros, e podemos automaticamente redimensionar e reposicionar esses aviões também. Para fazer isso, vamos para a nossa função de engenhocas Andhra em nosso script Playfield, e não podemos ser a parte completa fora do fim aqui e trazer isso sob s primeiro off. Nós renomeamos este ao longo de um ano para ser, digamos E ou w basicamente não importa qual deles você vai preferir primeiro. Então vamos pegar o leste Alguém eu tenho uma mancha todos estes 1º 2 Leste já que este vai
estar relacionado com acidentes e por que, em sua escala de textura principal, não
precisamos mudar nada por aqui. Mas o que precisamos fazer é que precisamos reposicionar este diferente o valor x então da esquerda para a direita e disse que este oriental, nós não dividi-lo por que precisamos fazer isso como tamanho total grão X. Então nós nos livramos do flutuador como bem como assim o dividido por. Então nós reposicionamos este no X Plus dois tamanho total de excreção. Mas por que você vai ficar o mesmo? E seu valor agregado será a metade do tamanho. Ou como o centro fora que, nesse caso, precisamos dizer tamanho de grão dividido por dois. E nós vamos digitar este aqui em um carro alegórico também. Não se esqueça de economizar. Vamos voltar à unidade. Se eu sei que aumenta esse valor, você pode ver que este não é mudar seu valor aquele. Mas o que você também vai nos ver, que este ainda é baseado no eixo X. Então isso é o que precisamos mudar aqui a partir do tamanho da grade X dois tamanho da grade que no
eixo X fora do plano vamos ver a mudança em nós um segundo sempre que o compilador é feito. Não podemos dizer que isto funciona, por isso cabe aqui. Ele simplesmente não se encaixa na escala em seu componente de material compartilhado porque o acesso X ou o valor
X é baseado no tamanho do grupo zed e tamanho de grão. Ora, isso é seguro. E deixe o compilador ser executado mais uma vez. E lá temos. Por isso, cabe 1% no tamanho também. E a parte final não vai ser para o outro lado. A outra palavra Thea outro avião do outro lado, nesse caso, o W. Como você pode ver, o material compartilhado já o exibe corretamente. Só precisamos reposicionar e redimensionar o avião completo aqui. Então, nesse caso, vamos pegar cópia E completa que trazer isso para baixo, renomeá-lo primeiro de um aqui para B W W W W W W. Nós realmente não precisamos re telha porque já está feito. Rapaz aqui e está vindo ao lado dele. Ou depois disso. Então ele automatizado faz isso. E também é um material compartilhado ou, na verdade, o mesmo material que os barcos vão compartilhar, e precisamos reposicionar este. Então, já que este é um W, ele vai ser deixado ou basicamente na posição X onde quer que já estamos sem Playfield possamos nos livrar dessa parte e não se esqueça de salvar. E isso e o valor Y devem permanecer o mesmo em sua posição, bem como no scaler. Deve estar funcionando agora. Correto. Isso é testá-lo na execução do compilador. Sempre que o compilador é feito de execução e vamos adicionar W 21 vai jogar campo. Deve pedir medicamente, Reese Ice. Agora podemos construir qualquer tamanho fora do jogo sem problemas em qualquer direção e qualquer tamanho que
queremos ter nosso jogo em, eu acredito que vamos começar com um cinco por oito por cinco. Então cinco e X cinco e set e oito e por quê? E tudo o resto sobre o campo de jogo é agora apenas um fazendo navegações. Então vamos começar com provavelmente a navegação da câmera, bem como começar a criar ou primeiros blocos nos próximos vídeos.
10. #10 a câmera 1: Bem-vindo de volta ao curso nesta parte. Eu quero criar uma entrada de câmera onde nosso jogador é capaz de navegar em torno deste Ah, peça
nacional de um campo de jogo de anos de idade. Então nós meio que pensamos ou precisamos pensar sobre como queremos fazer isso. Eu quero fazer algum tipo de entrada de toque mose. Significa que sempre que estamos tocando em um dispositivo, por exemplo, teremos a mesma funcionalidade de quando estamos fazendo ou onde estávamos usando um mouse. E para isso, precisamos ter um ponto em que queremos girar. Além disso, precisamos ter outro ponto que está fazendo sua rotação diferente. Deixe-me explicar isso. Vamos supor que este vai ser o nosso ponto de rotação. Bem, precisamos fazer é girar este ponto em um ou outro eixo. Por exemplo, se pudéssemos ir e trazer isso como no chamado como apenas girando sobre o valor Y. Então o eixo y irmão acima valor, que estavam girando em torno de então não podemos fazê-lo de modo que nós vamos trazer isso também ou girado também sobre o valor Zad por que isso é assim? Porque teríamos um comportamento bastante estranho onde, porque não podemos trazer este ansioso volta para onde já esteve antes. E nós giraríamos, talvez assim sobre o “Why Williams”. Então giraríamos assim. Então, para evitar isso, vamos pegar dois alvos diferentes que estão fazendo coisas diferentes, como cálculos diferentes em tornozelos para um auto ir para nós grupos todos e criar novo spread c afiado e nomeá-lo, talvez controle de câmera ou controle de cam. Você também pode encurtar isso por Cam Ctrl. Bem, tudo isso depende de você e abriu este em um estúdio visual mono desenvolvido ou que quer que você esteja usando uma vez aberto, queremos fazer várias coisas aqui. Primeiro, precisamos definir os dois alvos que eu estava falando antes. Estes vão ser de tipo transformado. Então vamos criar um alvo de transformação de tenda. Então este vai ser o alvo para a nossa rotação Y. E então teremos outro que será representado pelos sotaques. Aquela rotação. Então, como fazemos isso no começo? Bem, vamos fazer o segundo alvo aqui na segunda transformação, que vai ser a nossa fila. Vou chamá-lo de “Rot Target”. Então, a rotação Tory, mais
uma vez, o alvo também está fazendo rotação, mas precisamos defini-los de forma diferente. Então nós O que precisamos saber é um vetor onde já tocamos antes ou o último quadro. Então, vou dar um nome a este. Algo como última posição ou última posição tocada. Você pode nomeá-lo, o que quiser. O próximo é uma sensibilidade ou uma sensibilidade. E mais uma vez, totalmente com você. Como nomeamos este envio é a Tiv ity. Isso vai ser do tipo flutuador porque isso declara quão duro nosso ato com o mouse ou toque do
dedo vai ser. Eu tenho que definir este para resolver um número como 3.25 ou algo parecido. Se quanto mais alto você for, mais rápido sotaque, provavelmente se torna um rez, um trêmulo. Sempre que estamos realmente fazendo um movimento direto fora do controle
da câmera, a mensagem inicial vai ser uma que vamos renomear Para estar acordado era um grande A. Isso é importante então a primeira coisa que queremos fazer é encontrar nosso alvo de rotação bem como o nosso alvo habitual ou normal. Então dizemos que o pneu de rotação ainda vai ser igual ao nosso pai de ponto de transformação. Por quê? Eu disse isso porque nossa câmera será parentada para o alvo de rotação e o
alvo de rotação será pai para o alvo. Vamos fazer a configuração em um momento. Sempre que terminarmos com essas coisas aqui, e eu vou explicar por que a próxima será precisamos encontrar o alvo. E mais uma
vez, uma vez que sabemos que o alvo vai ser o objeto pai fora do nosso alvo de rotação ou apodrece alvo, vamos dizer que alvo é igual ao alvo de rotação que transformou pai então
alvo de rotação don Não se transforme, não seja pai. Certo. E isso é tudo o que queremos fazer na esteira. Então nós automatizamos essas coisas e não temos que tocar em nada, direcionar qualquer coisa para qualquer coisa. Só fazemos isso uma atualização. Queremos ter certeza de que nossa câmera, onde
o controle de câmera estava sentado, está sempre olhando para o alvo. Então, quando fazemos é dizemos transformar ponto Olhe para o alvo. Nós também podemos usar o alvo de rotação porque Beau vai sentar no mesmo lugar. Então eu vou fazer uso do alvo porque este é o pai externo. Então a última parte, na verdade aqui e não o alvo de rotação. Provavelmente uma escolha melhor. Nós não queremos nos fazer sempre que estamos fazendo em entradas do mouse como sempre que clicamos com o botão
esquerdo do mouse, queremos armazenar nossa posição atual clicada mais na última posição aqui. Como faríamos isso? Nós dizemos, se a entrada não obter o botão do mouse para baixo, então clicamos apenas uns. Queremos ter certeza de que tomamos zero como argumento. Este vai ser o botão mais esquerdo e também pode ser fazer uso off ou fazer usado fora em telas sensíveis
ao toque. A maior parte do tempo em apreciado funciona. Eu não tenho certeza sobre IOS. Isso pode ser um pouco diferente. Nós não queremos fazer é queremos salvar a nossa posição clicada no vetor três últimas posições na exposição é igual à entrada que a posição do mouse. Então, sempre que tivermos a cobrança, vamos guardar isso na última posição e finalmente uma atualização. Queremos fazer nossa órbita em torno desses pontos, então eu vou criar uma nova função chamada fora do tipo Void diz que você não retorna nada e nós chamamos esta órbita e uma atualização. Após esta entrada, queremos chamar órbita aberta perto parênteses. Feche a linha. Isso estava no meu canto? Então agora, em órbita, todas as nossas importações vão acontecer por si mesma. Queremos ter certeza de que isso significa por que seguramos ou pressionamos o botão esquerdo do mouse. Só então queremos fazer a entrada. Então, se o ponto de entrada obter o botão do mouse aberto, feche a entrada zero de Francis. Então, mais uma vez, mantemos pressionada agora a tecla esquerda. Então aqui nós apenas clicamos uma vez, e aqui nós seguramos. Queremos armazenar informações no vetor. Então, primeiro palestras. Três. Vou chamar isso de Delta, e isso vai ser igual ao ponto de entrada e agora tomamos mais uma vez a
posição mais atual . E precisamos da porta que na nossa última posição, este é o delta entre dois pontos como este é um ponto de vetor entre dois pontos entre a posição do nosso homem atual e o último assim, neste caso, a posição cólica. Quanto maior esse valor, maior será
o Delta. Então não temos uma distância entre dois pontos, e baseado nisso, podemos calcular tornozelos. Primeiro, vamos criar um novo flutuador, que vai ser angular. Por quê? Então por que Angle e nós enviamos Este osso quer ser igual a ponto delta negativo Por quê? E multiplique isso pela sensibilidade. Nós vamos fazer o mesmo para o valor X irá copiar isso. Renomeie o tornozelo para ser um ex-tornozelo. Vou pegar Delta X, mas não negativo, mas positivo. E multiplique isso pela densidade. Agora vamos cuidar do excesso de X, então vou explicar em um segundo de novo. Então o XX é aquele que está fazendo o movimento para cima e para baixo basicamente em torno do alvo . O eixo Y vai fazer uma rotação esquerda e direita, ajuda
ilimitada mais uma vez. Nós também temos e por que o acesso ao eixo Y é provavelmente um pouco mais fácil. Então talvez nós vamos começar com isso. Então, o que? Queremos girar quando estamos girando sobre o eixo Y é o nosso alvo externo. Então podemos dizer, escrevi um alvo, não gire ao redor. E agora queremos girar em torno de um ponto e isso vai ser um vetor de posição. Algures neste caso, vamos tomar a posição do alvo. Agora queremos declarar qual é o seu acesso ao eixo? Queremos girar em torno, vai ser vetores leitor para cima. Então nosso vetor, neste caso, o eixo Y. E quando queremos tomar s e entrada como, qual é o ângulo? Neste caso, é o tornozelo X. Então, ângulo X aqui. Já conseguiu o fim da linha com a gente no meu cólon? Sempre que temos feito com isso, queremos redefinir ou triste última posição para ser igual a,É
claro,a É
claro, nossa entrada ponto a maioria das posições. Estamos atualizados? Sempre que continuarmos arrastando, teremos que recalcular Delta aqui. Vamos testar isso. Então, para e configurar e deixe-me explicar sobre os eixos primeiro deixar o compilador executar e sempre tínhamos feito foi que vamos pegar nossa câmera principal. Atualmente está por aqui. Realmente não importa. O peso é que vamos montar isto na SEC. Eu tenho que criar um novo jogo vazio, objeto primeiro e renomear este para ser o nosso alvo. Para não ficarmos confusos. Vou fazer um ponto de vista. Mais uma vez de um ano, talvez outro fosse um verde e eu consegui uma posição, este em algum lugar no campo de jogo, como mais de um ano no centro. Mais tarde, podemos automatizar onde isso vai começar. No começo, eu me ressentia para 0 a 0 e eu surtei. Arraste este aqui para o nosso centro. Uma vez que atualmente temos um campo de cinco por cinco em pode ser dragão também para cima, como por aqui, uma vez que vai caber em algum lugar entre o nosso oito em sua altura. Mais uma vez, se estiver feliz. Foi ou mesmo não? Apenas certifique-se de colocá-lo em qualquer lugar. Agora eu tenho um alvo duplicado ou realmente criar um novo alvo dentro vazio que vai
ser o nosso alvo de rotação. alvo do Rod e sei que o que quero fazer é pegar minha câmera principal e trazer isso como uma criança fora do alvo de rotação. Então esta é a nossa configuração inicial para garantir que não temos nenhum comportamento estranho aqui. Vamos redefinir a posição e a rotação e todas as outras coisas da câmera principal e arrastá-lo para longe um pouco. Você sempre pode ver isso no jogo. Sabe, podemos pegar o alvo e girar um pouco se quisermos para o exterior. Já que o pai representa a informação correcta, vou tirar isso da câmara para, talvez, menos 12. Então nós Seymour fora do campo de jogo, nós podemos agora navegar em torno dele, certifique-se de que na câmera principal, você arrastar script de controle da câmera. Não se esqueça de salvar sua cena e vamos pressionar play e ver o que está acontecendo. Agora devemos ser capazes de girar apenas com nossas bocas de um inferno, como fazer a entrada esquerda e direita do mouse. Devemos ser capazes de arrastar nosso campo de jogo ao redor e obter a sensação de três D Atualmente, como você pode ver, ele só leva os valores X delta. Mas quando subimos e descemos, nada acontece. Isso é porque não implementamos este no momento.
11. #11 a câmera 2: Bem-vindo de volta ao curso nesta parte. Nós vamos fazer os toques finais em nossa entrada de câmera humana, significa que nós queremos ter certeza de que nós também podemos girar sobre o alvo de rotação algo como este aqui. Então podemos olhar de baixo para cima e de cima para baixo, precisamos cuidar de nós. E lá vamos grampear para a entrada em um ângulo específico. Isso é aberto como um script onde criamos a órbita interna, como em nosso controle de câmera. Agora precisamos atualizar tudo sobre o eixo X. Então a rotação que acabei de mostrar era uma rotação de ex. Para fazer isso, vamos precisar calcular alguns tornozelos de antemão. Primeiro, vamos armazenar nosso ângulo atual em um vetor reto. Então os vetores três ângulos serão iguais a qualquer que seja o alvo de rotação atual Não transforme. Não Ula tornozelos vai ser. Você vai armazenar isso e aqui porque não podemos diretamente mudar para sou a rotação, seus tornozelos. Então fazemos os tornozelos de atualização de recálculo e colocamos. Vamos atualizar o alvo de rotação. Você vai ângulos pela entrada que temos re calculado primeiro fora, vamos tomar tornozelos dot exe e precisamos adicionar mais ângulo igual. Por quê? Então vamos fazer e tirar o tornozelo? Por quê? Por aqui? E adicionar isso a este vetor que também queremos fazer é que queremos prender esta entrada. Vou mostrar-te porquê. E sempre que tínhamos feito estava apertando. Vamos fazer o aperto em um segundo. Queremos uma rotação set cansado. Arrume uma porta para transformar. Não sejam tornozelos para serem tornozelos de águia. Então, como você pode ver, nós só manipulamos o tornozelo X em nossa rotação ali. O resto é feito pelo alvo em seu valor y. Então não podemos exagerar. Mas antes de fazermos qualquer outra coisa, nós, é
claro, deixamos o compilador rodar. Veja se surgiu alguma coisa e teste isso. Então, para há alguns problemas que vamos encontrar quando nós mantê-lo como ele iss Primeiro off, agora
eu posso ir para cima e para baixo bastante decente. Mas e se eu for muito alto? O que você pode ver? A tela começa a tremer e realmente não sabe onde diabos eu estou? O mesmo no fundo. Ainda funciona como posso ver, mas não é muito bom reboque. Evite isso. Vamos apertar o tornozelo X entre dois valores. Mas não podemos fazer uso do pensamento de mensagem, Clem, porque o problema é que não somos capazes de fixar números negativos corretamente. Nesse caso, criamos pouca ajuda de função para fazer o grampo para nós. Então eu vou dar um nome. Não é tempo. Vazio. Esta necessidade de estar fora do tipo flutuador porque vamos retornar à tona no final. E o nome é um ângulo de pinça aberto, parênteses
fechadas. E agora precisamos colocar algumas informações para ela mesma. Precisamos de uma flauta que esteja representando pelo nosso ângulo. Então vamos precisar de outro carro alegórico de onde queremos prender. Vai ser outro flutuador para onde queremos prender. Então precisamos de todas essas informações de cálculo ali. No final, queremos devolver a bagunça F Dodds Men,garotas
abertas, garotas
abertas vírgula 2 do tornozelo da
Prentice. Mas antes de retornarmos isso, é
claro, precisamos fazer alguns cálculos com nosso tornozelo para um “eu”. Queremos ter certeza de que se o tornozelo é menor que zero. Queremos definir o ângulo para ser igual a 360 mais. Seja qual for o inglês, precisamos fazer isso. Caso contrário, a unidade terá algum estranho. Seus problemas foram que, como não pode funcionar em números negativos com o local, você mente ou você vai torcer nesse caso. Então vamos manter isso sempre que for menor que isso. Nós apenas dissemos para 360 e adicionamos o ângulo a ele. Podemos fazer ou ter que fazer o mesmo com 180 graus. Nesse caso, precisamos que o Teoh devolva algo aqui. Nesse caso, podemos dizer se o tornozelo é maior do que 180 f então um em 80 graus do conselho médico de baixo para cima. Então queremos ter certeza de que retornamos bagunça f dot max e nesse caso vamos devolver o tornozelo e então colocamos 3 60 mais o valor de e, claro, e a linha era um ponto semi cólon. Então, mais uma vez, sempre que o tornozelo menor que isso, nós respondemos 60 a ele e a isso, ou realmente definimos o tornozelo para ser igual a 316 no tornozelo, então nós não temos nenhum valor negativo. Mas podemos negar 360 sempre que tivermos 180 ou foram superiores a 180, em caso de falta de graus. Em seguida, enviamos o tornozelo e para tomar 3 60 adicionar basicamente o valor a partir para este. Mais uma vez e ano, Max vai voltar como você pode ver o maior off dois valores. Então, o maior entre o tornozelo ou do tornozelo e qualquer que seja a entrada mais 3 60 mesma mão, que vai levar o menor valor entre ângulo e para. Então, quando isso não disparar, isso vai disparar. Agora só precisamos chamar a função e tomar isso e manipular tornozelos ou, neste caso, tornozelos X. Então dizemos tornozelos ponto exe IHS Igual a agora chamamos ca ângulo da lâmpada. Colocamos os tornozelos, acesso
adorado. Então podemos dizer vírgula, e agora podemos dizer entre os quais nossos valores queremos reivindicar. Eu quero fixar entre os mineiros que dizem, 90 ou digamos, menos 85 não vão mais 90 melhor e eso 85 ou 85 negativo 85. Então, em negativo e um número positivo aqui. Não se esqueça que a interline era um ponto semi cólon. Sempre que
fizermos isso, nunca excederemos o ponto na parte inferior ou mesmo no topo. E não temos nenhum comportamento estranho de saquê. Não se esqueça de salvar. Vamos voltar para a unidade, deixando o compilador executar, pressione play e testes para fora. Quero entrada atual da câmera. Eu tento fazer isso. Como você pode ver, eu já estou apertado, e ele sempre pode ver o que o tornozelo está fora da câmera. E, como você pode ver na rotação X ou neste caso, seu alvo de rotação é alegado ser 85 graus mais menos um pouco, então ele não pode exceder Overdo-lo. mesmo para o outro lado. Podemos ir para o alvo de rotação inferior. Não há menos 85 graus no valor X, e nada mais precisa ser mudado lá. Então agora temos uma rotação totalmente funcional esquerda, direita, direita para esquerda para baixo e não dedos muito bem. Agora podemos ir e implementar o trabalho ou os primeiros blocos professores e criar a funcionalidade fora do jogo. Ainda mais
12. #12 Como criar os blocos: Bem-vindo de volta ao curso nesta parte. Queremos criar nossos primeiros blocos. Vou explicar como é que isto vai funcionar e o que temos de tomar cuidado. Primeiro, isso é ótimo. Um objeto de jogo vazio. Nós sempre precisamos ter um objeto de jogo vazio porque este é o nosso ponto pivô de rotação
, bem como o movimento. Pivô apontar fora de nossos objetos, como fora de nossos blocos que primeiro queremos fazer é queremos reiniciá-lo. Então ele está sentado em 000 onde quer que enquanto o bem-estar roxo certifique-se de que você não retirá-lo como eu fiz. Agora o que podemos fazer é podemos, com base na posição de que podemos criar nosso primeiro bloco. Vamos começar com a nossa peça de chá. Vou mudar o nome deste para Teepees ou bloco T. Mais uma vez, a convenção de nomes é rei, e é importante que saibam o que estão fazendo e do que estão falando. Então, quando temos bloco de chá ou seja lá o que você nomeou selecionado, criamos um novo
cubo de objeto de três D. Há Cubo será centrado neste ponto, ou nesta peça, vamos nos certificar de que reduzimos este e explicar isso para 0,9 no primeiro. Porque podemos ver este mais tarde mais fácil sempre que está sentado dentro do
campo de jogo . Além disso, o jogador que vai jogar o nosso jogo quer ver ainda mais sobre isso. Eu tenho um seleto o Cubo. Não e duplicado, podemos mais uma vez criá-los. Não se esqueça de vender e colocar isso para a próxima posição aqui, para a próxima posição aqui e aqui. Então nós temos a peça T exatamente como palavras de vício girando ao redor. Então o que você pode ver é que nosso próprio bloco tem seu pivô. Agora, no centro fora do bloco central, isso significa que em torno deste quarteirão ou deste ponto, vamos mais tarde trazer ajuda em todas as direções. Assim, deste jeito. E também é aqui que vamos começar a mover as coisas, como esquerda e direita para cima, para baixo. Ok, então agora sabemos como isso vai funcionar. Ou como configuramos nossos pontos são blocos de querer. Totalmente. Não admira que isso mais tarde dentro da grade, você pode ver que já podemos tentar posicionar isso aqui dentro de um trabalho vermelho. O que você pode ver agora é que o bloco em si desde em um valor vírgula, isso significa que mais tarde precisamos reposicionar nossa grade diretamente. Ou Playfield. Então, nós sempre temos, hum, valores
vastamente coricos corretos. Neste caso, como números completos da entrevista. Então, mais tarde precisamos fazer é tomar nossa posição de campo de jogo e reduzi-la pela metade em X. Por quê? E que coordenadas para ter números pares. Então, como você pode ver meu bloco T agora, quando eu enviaria para este aqui e nós começaríamos com nosso campo de jogo ali, nós teríamos um cruzamento. Então precisaríamos fazer uma dessa maneira. Um desse jeito e outro desse jeito. Então, caso contrário, não vai caber como a nossa pedra. Ah, a posição não caberia. Então você pode ver o campo de jogo mais tarde vai enviar. Eu ia estar em algum lugar que poderia gostar, por exemplo, em menos 0,5 ou mais 0,5 em todos os três eixos mais uma vez. No momento, não
importa o que você sabe que também pode fazer. Pode criar alguns materiais para todos esses blocos. Não podemos resina Basta fazer isso, por
exemplo, exemplo, botão
direito do mouse criando novo material e sem mais material ardendo. Eu gosto do seu nome no vermelho Você pode nomear um azul,
verde, verde, amarelo o que quiser E como eu posso duplicar até mesmo aquele renomeado por F para
renomeá-lo para amarelo Duplicado mais uma vez renomear F para nomeá-lo Verde mais uma vez controlou o renomear em Nós também podemos chamá-lo de Azul Você pode pegar qualquer cor ou qualquer nome ou
qualquer coisa que você gosta e renomeá-los fazer uso deles Então eu vou pegar azul e torná-lo de qualquer maneira, Azul Eu vou pegar verde e torná-lo de qualquer maneira Verde Então eu vou ter lido já e vou fazer amarelo um pouco mais como laranja. Ok, talvez também ou talvez eu fique um pouco mais amarelado. Eu não sei algo assim. Talvez você possa criar o quanto quiser. Você pode mais tarde também fazer uso de escala branca e cinza. Dependendo de quantas peças temos, mais cores se relacionam. Provavelmente precisa agora. Vou duplicar o bloco T antes de fazer alguma coisa e trazer isto para escrever. Não se esqueça, você sempre pode usar snap para trazer as coisas limpas para um lado ou para o outro. Eu quero pegar as do nosso “Que Pierre “e talvez
eu vá duplicar isso mais uma vez e torná-lo roxo. Então roxo é uma cor que eu gosto de ver nesta. Você não precisa do Teoh. Você pode então talvez um pouco de idade escura roxo e agora eu escolher todos esses cubos e pegar roxo e trazer isso para esses cubos. Você sabe, você pode dirigi-los assim, mas você também pode direcioná-los no Inspetor e tudo isso vai ficar roxo. Até agora,
tudo bem. Este próximo vai ser talvez o nosso ocular. Então, vou mudar o nome deste também? Eu pertenço. Ele também tem um quatro blocos dentro. Eu quero ter certeza de que meu ponto de pivô vai estar em algum lugar no segundo ponto, eu vou nos criar de cima para baixo. Então eu pego esse cubo e trago isso Não aqui e assim. E este agora pode estar em cima ou em baixo. Eu quero ter certeza de que o ponto central, como o ponto de pivô I bloco vai estar em uma das peças centrais. Então talvez eu tenha que fazer isso assim. O que isso significa é que agora, quando giramos, nós sempre giramos em torno desta ou desta peça. Então não temos nenhuma ação estranha do Indo. Não podemos, já que lutamos com o que quisermos. Mas também podemos, antes de fazer isso duplicar isso de novo não importa. Controle selecionado D e o dragão para o lado para a próxima peça que vamos criar em um momento. Então, e nós podemos pegar isso segurando, mudar ou simplesmente ir para a hierarquia e fazer este? Eu não sei. Talvez esverdeado, você pode mais uma vez pegar a cor e arrastá-la diretamente no inspetor. Então, todos os blocos do ano terão a mesma configuração. Nenhuma força essa paz mais uma vez. Lembre-se onde é este ponto privado e onde você quer girar aqueles que pedaço em torno. Normalmente vai ser esta peça, significa que esta vai estar aqui neste vai estar aqui,
então há que a paz agora vai girar em torno de lá há bloco assim se você não gosta deste , você também pode fazer Isso basicamente importa porque você é colocado em também capaz de fazê-lo em s ou é que o bloco até você? Então, vou dar um nome a este? Talvez seja isso ou bloqueio de novo? Não importa porque só queremos ter certeza de que só temos o que for preciso, vou selecioná-los todos e fazer tudo azul ou talvez amarelo. Algo assim. Então, a próxima é precisamos do Opie. Então, o OPIS é aquele que tem um quatro por quatro ou dois por dois realmente conectados de modo que ele tem mais objetos filho. Mais uma vez, eu duplamente portão este. Traga isto por todo o lado. Aqui, eu renomeio este para ser meu OPIs ou bloco, e você tem várias possibilidades para criar seus próprios. E você pode fazer qualquer comportamento estranho em qualquer forma estranha que você gosta, por favor. O bloco antigo é basicamente você pode escolher qualquer canto que você quiser girar em torno de porque normalmente nós nem mesmo fazer qualquer rotação sobre isso então você pode fazer o bloco A como este como se ele não tivesse morte ou morte, ou você pode pegar todos esses cubos, duplicá-los dentro e trazê-los para trás. Então você tem, tipo, um maior desde três em três D espaço, e ele vai caber dentro do nosso grande nenhum problema com isso em tudo. Além disso, você pode querer ir e dar-lhe qualquer cor. Talvez algo como, Bem, o que não temos? Bem, talvez o azul. Eu tenho um W ganhou cor amarela aqui. E no caso de eu querer ter uma cor branca. Quando eu sou renomeado This two White. E eu vou até lá e uma picareta para branco, por exemplo. Sempre que você vai ter uma peça que tem que ser branca, então você tem a cor como um material deitado por aqui dois blocos que não mudaram sua cor. Toby sopra. Então eu vou escolhê-los e dar-lhes vídeo aqui também. Certifique-se de que você está trabalhando o mais preciso s que você pode. Então, e de agora em diante, você tem muitas outras possibilidades para construir. Você pode. Nós também podemos fazer um L. Como eu vejo você vai levar este pedaço longo aqui? A ocular e renomear isso quero ser Eu olharia para se livrar do número e eu
vou fazer isso um pouco diferente dos LP. Provavelmente eu quero ter o ponto de rotação de algum jeito aqui. Quer dizer, deixe-me primeiro trazê-lo um pouco para que possamos ver as coisas melhor. Quer dizer que vou tirar todas estas peças da ocular. Traga-os para a direita assim, eu poderia pegar. Isso é muito rápido. Confira isso. Vamos levá-los ou Oh, não, está
tudo bem. Vou pegar o de cima e derrubar o de cima. Então o que eu tenho agora é que o ponto de rotação está aqui no centro,
então o significado estava girando em torno do centro. Se você não gosta, você sempre pode tomar qualquer outra coisa. Você também pode girar em torno desta área aqui se quiser, Teoh. Então, nesse caso, você só traz todas as peças assim. E nesse caso, você giraria assim. Tudo funciona com você. Totalmente. Eu vou com o pai. Então o ponto de pivô ou o ponto de rotação vai estar aqui dentro deste pequeno canto ou então eu posso dar-lhe outra cor. Nós não temos vermelho no momento, então eu vou pegar todas essas partes nesta, certo? Se você quiser ter mais formas, como talvez apenas duas dessas ou apenas metade. E, oh, como apenas a frente aqui ou qualquer outra forma extravagante. Absolutamente Vá para ele. Eu vou criar mais um em uma duplicata que a paz aqui, que vai ser algum tipo de pedaço de canto. E posso ser nomeado este bloco C. Na verdade, não vai ser um C, mas você vai ver o que quero dizer em um momento. Eu vou trazer isso aqui, trazer isso para lá, e eu vou pegar o último, que vai ser o oposto e trazer a pedra assim. Então isso vai ser mais ou menos uma peça de canto, que provavelmente pode mais cedo ou mais tarde dar-lhe um pouco de diversão no jogo. E eu vou fazer este totalmente branco. Então vamos ver, o ponto vai ser por aqui, então o ponto de rotação. Então vamos girar desta forma podemos girá-lo desta forma e, claro, ou as outras maneiras também. E isso é ver cada bloco que eu queria criar aqui. Então você manter o controle ou tomar cuidado para que os pontos de pivô são 1% Lee correto nas posições onde queremos. Certifique-se de que eles estão todos encaixados como todas as caixas estão encaixadas no núcleo, em posições relacionadas ao ponto de pivô e, em seguida, a próxima porta. Vamos começar a trazer um pouco de vida ao jogo.
13. #13 bloqueios em movimento: Bem-vindo de volta ao curso nesta parte. Queremos criar um novo script, bem como começar a trabalhar na mecânica do jogo. Primeiro, queremos entrar em nossos ativos, dobrar aqui e criar em sua pasta e chamar este pré fabs. Prefab não é mais nada mais tarde, como um modelo em que colocamos em. Em vez disso, ela comeu modelos de algo para fazer uso dele. Nós vamos cuidar da luz dos prefeitos acesa, mas eu queria ter certeza de que já temos essa pasta. Agora vamos para os grupos dos EUA para eles e criar nova apreensão de script e chamado isso talvez bloco ou Tetris Block ou algo assim. O que você quiser e assim. Deixe a compilação uma execução por um segundo. E o que sabemos que queremos fazer é selecionar todos os nossos blocos que criamos aqui e o arrastar Ted Rose para eles. Não fazemos mais nada com eles, mas o que podemos fazer. Ah, bem, eu selecionei o alvo que o alvo não precisa. Assim, sempre que tivermos todos estes selecionados, podemos criar pré, talvez já, uma vez que tem tudo o que precisa. Onde está o script de bloqueio da Tetra sobre ele? Então, basicamente, você pode trazê-los para a pasta prefects. Como você pode ver, você precisa fazer isso Separate Lee, tipo, um quarteirão de cada vez. Basta direcioná-los para dentro e esperar até que a supervisão tenha feito até agora. Então nós temos essas seis peças agora como pré fabs e você pode ver estes foram indicados como não-nomes azuis aqui, que
significa que eles estão relacionados a um anterior. Você também pode ver isso aqui. Então o que agora podemos fazer é nos livrar de todas essas peças. Talvez mais tarde pegaremos uma dessas peças e usaremos elas para checar movimentos e coisas assim. O que sabemos que queremos fazer é que queremos abrir ou seja lá o que for scripts de bloco ou clique duas vezes nele e abrir é um em mono Desenvolver este estudo ou o que for que eu d. E você prefere trabalhar com em nosso script de bloco de propostas. Vamos ter que implementar várias coisas que podemos escrever. Ou você pode escrever em si mesmo algum seu para fazer lista, se você quiser. Teoh, que seja. Sempre que você criar o seu próprio jogo, alguém para fazer alguma informação insight. Então o 1º 1 vai ser um carro alegórico chamado tempo anterior ou Pref Time. Este vai ser o momento, que é o lugar onde o último bloco foi derrubado uma vez. Além disso, temos outro carro alegórico que será o nosso tempo integral. Então a força ou o tempo forçado eu expliquei no vídeo conceito quanto tempo leva até
forçarmos o campo a cair ou o bloco a cair. Vou colocar o esforço da indústria por enquanto. Mais tarde, podemos brincar com esses números com base no ano. Você é a experiência. Eu me livro desses dois comandos aqui. Eu não preciso desses. Você pode mantê-los aqui se você gosta do Teoh. Então agora podemos basicamente para nós recalcular nosso bloco de propostas para cair. Podemos fazer uso fora e uma proteína do núcleo ou podemos fazer isso diretamente. Uma atualização basicamente não importa. Então vamos fazer uma atualização. O que podemos fazer é calcular o tempo menos dois tempo anterior e quando este tempo gasto é maior do que o tempo integral. Então queremos forçar o bloco o pé do Tetris plop cair um ponto como um passo. Então, se o tempo foi uma vítima, ele se tempo para tempo menos e mais uma vez tomamos o tempo anterior nós armazenamos o
tempo da província em um segundo se ambos esses valores são maiores que o tempo integral Então os três segundos então nós queremos fazer a queda como cair uma vez. E como fazemos isso? Podemos dizer transformar Não posicione mais igual vetor três pontos para baixo porque queremos que ele force a mover-se para baixo O que também podemos fazer como podemos pagar o momento Talvez fazer isso seja um pouco mais rápido para que cada segundo bloco esteja caindo. Não se esqueça de salvar e voltar para a unidade e certifique-se de que o compilador está pronto em execução. Podemos levar qualquer prefeito. Agora ignore as mensagens de aviso. Eles vão embora mais tarde. Quando podemos agora fazer é pegar qualquer um dos nossos pré fabs, trazer isso para a cena em qualquer lugar e testar nossa funcionalidade. Vou arrastá-lo um pouco até aqui. Não se esqueça de mantê-lo preso e talvez trazer isso para qualquer lugar onde mais tarde provavelmente
vai cair em pedaços. Talvez em algum lugar por aqui conheçamos a imprensa play. Deveríamos ver que todos são um segundo dedo do pé. Traga isso para baixo. Mas como você pode ver, um lance apenas completo porque depois que as coisas aqui, nós não redefinir ou disse tempo anterior. O que precisamos fazer é depois disso se declaração, precisamos dizer que o tempo anterior é igual a qualquer que seja o Tinus atual. Então, tempo não tempo. Não se esqueça de salvar. Volte para a unidade que o compilador executa e cross ply sempre que for feito a cada segundo, o bloco deve cair um. Sim, Sim, uma posição. Mas no momento, parece não fazer nada por aqui porque precisamos pegar o tempo anterior e trazer isso depois do movimento para baixo aqui. Não se esqueça de salvar. Não se esqueça de salvar sua cena sempre que estiver brincando com as coisas e vamos
testá-la mais uma vez. Como você pode ver nosso pequeno bloco aqui, mesmo se ele está se movendo errado no momento, ele está caindo uma vez por segundo por uma unidade menos começando apenas meio um pouco alto demais. Não caberia no bloco Ashley, mas agora parece correto. Então, mais uma vez, como você pode ver, ele cai uma vez por segundo através da grade. Mas continua fazendo isso em lugar nenhum. Bem, nós sabemos que queremos fazer é que precisamos fazer algum imposto se ainda estamos na grade. Além disso, quando não podemos nos mover, queremos ter certeza de que geramos um novo. E este capaz este bloco Tetris. Em primeiro lugar, precisamos ter certeza de que estamos realmente nos movendo para uma posição válida. E para isso, vamos criar uma pequena função de touro. Então o touro retorna verdadeiro ou força, e nós vamos nomear isso, talvez checar Vallat, mudar no final
muito, muito, muito. Queremos ter certeza de que retornará True. Então, sempre que tudo ar qualquer pré-imposto, não
fazer nada que nós queremos ter certeza de que nós retornamos através deste ponto, o que nós agora queremos fazer é que nós queremos viver através de todos Ah, Axel criança objetos de nosso atual Tetris Blanc, como todos os muitos blocos, como, embora, hum, cubos
reais querem ter certeza de que todos esses cubos fazem uma correspondência dentro ou o que é ótimo para fazer, então precisamos criar mais dois que cuidam dessa funcionalidade, mas é isso que vamos fazer nos próximos vídeos.
14. #14 Verifique a rodada de movimento: Bem-vindo de volta ao curso nesta parte. Eu quero arredondar o movimento de posição em uma verificação do movimento de posição arredondada fora do nosso eixo Tetris bloco. Vamos abrir no Playfield? Precisamos preparar isso para nós mesmos. Precisamos criar uma nova função chamada Awake, que é fria antes de começar acordado. Queremos ter certeza de que criamos um er de acesso estático para o campo de jogo. Então não precisamos olhar para isso o tempo de parede e procurar o jogo completo ou jogo até encontrarmos Playfield. Para fazer isso criamos, que é chamado em único. Vamos criá-lo, vender isso para nós. Criamos um público excessivo para eles. Defina este er de acesso para ser um er de acesso estático,
em seguida, chamamos o nome fora do script do eixo, nome ou nome da classe,
e, em seguida, dar-lhe um nome de instância, por exemplo. Instância acordada, não
podemos dizer que instância é igual a isso. Então, apenas campo de jogo vai ser representado no jogo. Agora podemos criar funções públicas e chamar apenas essa instância e fazer todos os cálculos baseados nisso, porque agora podemos criar toda a ajuda de funções diretamente no campo de jogo se quisermos. A primeira ajuda da função que vamos criar é uma função de arredondamento. Precisamos arredondar nossas posições para números inteiros completos para tornar toda a vida mais fácil de fazer. Então criamos um novo vetor público sri, e chamamos isso de uma rodada e precisamos criar um acessório ou uma entrada Vector três. E eu vou nomear um V de sublinhado para Victor. Você também pode nomear este. Obrigado algo assim, vez que não retorna nada no momento que vamos ter este vermelho sublinhado foram, mas queremos voltar em um segundo. Então o que queremos retornar é um arredondado de vetor. Então, em torno dele para um número introgénio completo. O que vamos fazer nós dizemos para devolver novos atores, Ray, abrir parênteses e primeiro, chamamos uma bagunça de ponto redondo para o fim. E o que queremos arredondar é, é
claro, claro, o x xsl HVAC dot Exe então qualquer que seja o vetor de entrada atual vai ser aqui, vírgula. Então vamos fazer o mesmo para todos os outros vão para a próxima linha, como já fizemos. E o outro vai competir Este conselho vai aqui, eu estou colado em Então nós queremos arredondar aqui o valor Y e na última mídia para, é
claro, aqui precisa de Aprendiz E o último par. Amita, vamos copiar isto. Vou colocar outra vírgula na próxima linha e trazer o valor Zad do vetor. E já que sabemos, devolva este vetor, como você pode ver, devolva-o sempre que pedimos. Entramos sempre, voltamos ao redor, vetor uma intenção completa. É bom, porque agora podemos pedir que você pegue isso como informação e arredonde cada sim, 0,5 números para ser um número vetorial completo. Agora, podemos fazer uso disso no nosso bloco Tetris. Então nós subimos Tetris blanc e então nosso Chiang desenvolveu um movimento. Agora podemos solicitar esse valor arredondado. Nesse caso, vamos criar uma nova posição Vector 3. Mas antes de fazermos isso, queremos ter certeza de que vivemos em todas as nossas naves sim. Assim, para cada um de perto, parênteses se transformam. Eu chamo isso de criança. Então, para objeto filho em nossa transformação, então a transformação desse cubo em particular, queremos primeiro armazenar cada vetor de cada criança e arredondar sua posição. Então, podemos dizer sobre os três p nos para a posição é igual a. E agora podemos falar com o nosso campo de jogo. Não crie instância da instância que acabamos de criar. Agora chamamos a função rodada quando voltarmos à volta dela. Victor fora da nossa posição lateral. Então nós temos sempre números pares que eu gosto apenas o um ou não mesmo, mas apenas inter apenas como
números completos . 102356 100. Mas nunca haverá um número lá dentro, que é como vírgula algo que é bom, já que agora podemos simplificar nosso movimento e processo verificando as posições da grade
aqui . Agora, podemos tomar esta posição e pedir se estamos dentro da grão. Mas é isso que vamos fazer no próximo vídeo
15. #15 Verifique o movimento valid em grade: Bem-vindo de volta ao curso nesta parte. Queremos criar outra ajuda de função dentro. Quero campo de jogo, que vai ser técnica para nós. Se os objetos do nosso filho na posição que estamos solicitando estão dentro ou fora da nossa leitura aqui como o Transform Vector para fazê-lo em Playfield, vamos criar uma nova ajuda de função. Ele precisa ser público e apenas retorna verdadeiro ou falso. Então vai ser fora do tipo de boliche. Vou dar um nome a este. Verifique dentro do grão. Você pode nomeá-lo, o que quiser. Você também pode nomeá-lo. Verifique lá dentro. Se um campo quando colocamos, é um vetor. Mais uma vez, queremos atacar. Se um é do Pacífico vai estar dentro da grade ou não, eu tenho um pequeno tipo aqui, então eu apenas renomeá-lo para verificar dentro do grão. Então, o que queremos retornar neste ponto é o seguinte. Então, o 1º 1 é que precisamos ter certeza de que todos esses serão
posições completas de entrevista e vetor em Lee tem variáveis flutuantes. Queremos entrar sempre em apenas volta. Então precisamos digitar tudo em um inteligente. Então o que queremos ter é que primeiro queremos verificar a posição, não agir. Então o vetor de entrada, se isso é maior ou igual a zero com o que podemos fazer é que também podemos pegar esse número zero e tanque. Os grãos transformam a posição X neste caso, modo que é maior do que isso. Nem precisamos contorná-lo. Ou basicamente, podemos contorná-lo. Você pode fazê-lo para que ele esteja relacionado a não importa onde nossa grade de transformação será mais tarde, nós provavelmente mudamos isso. Portanto, não importa onde o nosso objeto de jogo vai estar. Uma vez que 20 aqui representa um acesso mundial zero. Vamos falar sobre isso mais uma vez um pouco mais tarde. Então, se for esse o caso, então se minha exposição for maior ou igual e zero agora, vamos digitar mais uma vez em outro indigente aqui. E a posição no X é menor que o tamanho da grade X. Então sabemos que estamos dentro da grade como na posição X. Isso significa que
retornamos verdadeiro neste caso, também podemos tanque ou temos que verificar ao mesmo tempo. Se a mesma coisa está acontecendo para o porquê e para aqueles que acessam para o porquê
vai ser um pouco diferente. Mas para aqueles que existem, vai ser o mesmo. Então vamos verificar isso e excesso em seguida. Então, nesse caso, vamos ter outra instilação que vamos fazer por aqui. Vou perder um desses aprendizes. Então vamos fazer uma pausa que se posições positivas que são maiores ou iguais a zero, então nós sabemos que estamos dentro da grade baseado no acesso ao mundo mais uma vez. E, claro, vamos fazer o mesmo para o tamanho da grade que, se o em geral arredondado ou, neste caso, digite posições fundidas que é menor do que o tamanho da grade que o valor, sabemos, de Claro, estamos dentro da grade. Se não, é
claro, ele retorna verdadeiro, não falso. E agora vamos pegar o último aqui, que é o valor y que ele moldou na posição GIA. Não Por que, se isso é maior ou igual e zero, já que essa vai ser a pista de baixo por aqui. Então, sempre que estamos basicamente no fundo do campo de jogo, queremos retornar quedas. Significa que não podemos mover o bloco Ted Rose ainda mais para baixo. Não se esqueça de salvar. E agora, no bloco de farrapos, podemos cuidar disso e verificar se estamos dentro do bloco ou não, com base nessa pequena função que acabamos de criar. Então, sempre que estamos verificando se há movimento válido, primeiro, queremos contornar essa posição aqui. Então sempre um positivo ou sim, sempre um número completo. Então podemos levar isso em consideração com base na grade de Ted Ra, ou neste caso, é Coldplay Field não é Playfield Daut. Instale o cão verificar dentro da grade e nós vamos pedir Pew s para que a posição de objetos criança é que ele está realmente nos devolvendo as quedas. Queremos retornar falsos anos. Bem, mas o que isso significa é que agora podemos pegar esse cheque e trazer isso para nossa funcionalidade completa no longo prazo. Significa que sempre que fazemos um movimento para baixo, podemos sempre ter certeza de que verificamos se estamos dentro da grade ou não, e para fazê-lo, nós só podemos e cápsula noite a posição completa transformar Formacion em uma declaração . Portanto, se verificar movimento válido não está correto. Então, se é um negativo assim, neste caso de ele retorna cai, então nós não podemos fazer esse movimento e nós seríamos capazes de classificar nós realmente pararíamos isso . Então nossa transformação aqui do movimento descendente vai acontecer primeiro. Então vamos verificar se fizemos uma jogada válida. E a nossa prova desta vez só está enganando e toca um atraso no final. Então, se basicamente não fôssemos capazes de fazer esse movimento para baixo, nós também podemos ir e simplesmente não fazê-lo ou nós simplesmente movê-lo para cima novamente ao mesmo tempo. Sempre que isso acontece, também
podemos dizer que desativamos o script este script bloco Tetris para que não possamos enviar un abled é igual toe false. E também podemos dizer algo como criar um novo bloco Tetris aqui e também podemos rastrear para excluir uma camada se formos capazes de excluir camada, se possível. Tudo isso agora está relacionado a um quarteirão ou Ashley em qualquer bloco. Além disso, se esse não for o caso, então vamos ter uma outra declaração de um mais adiante, que
significa que sempre que fazemos metade da verificação de Allah, queremos dizer que queremos atualizar a grade como queremos atualizá-lo por qualquer que seja o posição atual é que estamos realmente em. Não se esqueça de salvar e vamos ver o que nossa pedra ou bloco vai fazer quando se trata do fundo aqui. Ele pode ou não retornar o valor coric porque estamos medindo contra zero e arredondado cima ou para baixo. E atualmente estamos em uma posição que vai nos dar como um zoológico 0,5 valor
arredondado para um inteiro. Como podem ver, sempre que descia, parou no fundo por causa disso. Vettel Verifique mover e desativado como você pode ver o script Tetris Block neste ponto muito bom. Então agora podemos ir em frente e fazer o resto fora dos cálculos. Um após o outro
16. #16 Verifique a grade de atualização de movimento válida.: Bem-vindo de volta ao curso nesta parte. Queremos realmente inicializar nossa grade de combustível jogo e atualizar tudo o que vai
entrar dentro da grade em que está se movendo dentro das posições de atualização grade toe. Baseado nisso, você também pode visualizar isso. Mas isso é, no momento, não tão importante. Isso é abrir mais script Playfield onde já temos mensagens acordadas paredes sobre para ajudar as funções que queremos fazer é entrar muito, muito topo no início que queremos inicializar ou grade. Então nós dizemos menino, ele começa a abrir parênteses perto Certifique-se de início é escrito foi um grande s desde a sua unidade ah fornecida função. Então a mensagem de despertar mais uma vez é sempre frio antes do início, não importa onde esteja no script Mas você provavelmente quer organizá-lo desta maneira. Então, no início, queremos ter certeza de que inicializamos a grade pelo que já dissemos antes. Queremos enviá-lo. A grade será igual a um novo transformador Ray. Então nova transformação aberta, fechar um colchetes e, em seguida, aqui precisamos colocar em três valores Este revaloriza. Você pode prever nosso machado tamanho da grade vírgula, mas seus olhos. Por vírgula tamanho Zad Isso significa que sabemos que inicializaram. Foram os valores que estávamos inicialmente a definir a nossa grelha no Inspector. Agora o que podemos fazer é que podemos agora, enquanto ele fala com a grade e coloca informações nesses valores de transformação baseados em onde quer que o
vento X esteja no momento. Para fazer isso, temos necessidade de criar outra função que é realmente atualizar a grade com base no que os bloqueadores estavam colocando. Então o que podemos fazer é, primeiro lugar, vamos criar um novo público. Neste caso, é de tempo vazio. Já que não retorna nada, vamos chamá-lo de grade de atualização. Você também pode nomeá-lo. Atualizar Playfield realmente não importa para nós, mas estamos falando com o grande off tipo transformar alguns. Provavelmente essa é a melhor maneira que vamos colocar em um argumento que vai ser fora do tipo Tetris bloco. Então, vamos dar um nome, talvez bloco ou chá. Tudo o que precisamos agora é fazer um loop através da matriz tridimensional completa para que vamos criar para loops. Então quatro e vamos começar com o valor X. Tenho o nome X ou os ataques da entrevista aqui. Então a segunda pirâmide será a Mex para media. Vamos colocar na rota tamanho X. Já que você provavelmente não sabe como eu criei a queda de sem digitar todas as letras, eu vou mostrar para você. Vou datilografar quatro. Essa ideia. Tente o botão tabulação no teclado duas vezes. 12 O que ele faz, ele cria isso automaticamente. E agora posso colocar tudo para a carta. Eu neste caso vou colocar o valor Zed, que vai ser o,
você sabe, você sabe, o acesso direto mais uma vez. Vamos bater na torneira de novo e colocar o tamanho do Zad? mesmo para o valor por quê. Já que esse é o vetor, vamos cuidar disso por último. Vamos pegar o final do valor Y. Claro que sim. Coloque-o para ser tamanho de grão. Por quê? Então agora temos três aninhados para loops. Então, primeiro, nós repetimos o Rex. Então nós olhamos através disso. Então, esquerda e depois para cima ou para a frente. E, finalmente, vamos subir como uma camada após a outra no eixo Y. Bem, nós sabemos que queremos fazer é que queremos verificar se o local que estamos atualmente looping e não está vazio ou não saber. Então, o que vamos fazer é se a grade for a maior, a que estamos conversando atualmente e aqui em
parênteses rectos abertos, parênteses rectos abertos, mais
uma vez, vamos solicitar a posição que estamos atualmente em coma X. Por que vírgulas que mais uma vez, esses três valores são os valores dos quatro loops aqui. São coordenadas nas ex-esposas que coordenam o sistema. E agora podemos realmente solicitar se o pai nessas posições do pai de ponto de transformação Basicamente, é uma transformação off. Este tipo vai ser igual à nossa transformação de ponto de bloco. Vamos precisar colocar sinais de igualdade. E se esse for o caso, então se a grade x y Zatz do transformado ou pai, seja qual for a transformação que está atualmente sentado dentro dessa grade particular, se esse pai vai ser nossa própria transformação para que o único que estamos solicitando do bloco atual. Basicamente. Então queremos redefinir isso ou queremos ter certeza de que definimos este para ser igual para saber . Então, podemos dizer que a grade em colchetes X vírgula Wycombe Azad é igual a saber. Então esvaziamos isso. Isso significa que não queremos ter os objetos pai aqui que só querem ter os objetos
filho basicamente. E para fazer isso, vamos precisar sair porque ir e verificar todas as transformações de blocos para fazer isso
vamos criar um para cada loop. Uma vez que é mais fácil aqui de usar para cada um, então quatro EADS fora do tipo transformado, eu vou nomeá-lo um bife ou bloco em bloco para transformar. Então, basicamente, para cada criança no bloco Trans eu vou talvez não chamá-lo de Abeba Child! Então, mais uma vez queremos atualizar agora todos os filhos fora do bloco solicitado e não o pai. É por isso que temos este aqui para cada bloco que queríamos na primeira volta da posição novamente. Então dizemos vetores, colher-nos é igual a rodada. E agora queremos dar o dedo do pé novamente a posição do ponto da criança. Então, mais uma vez, nós tanque. Se formos menores do que os valores y do máximo via porquê? Bem, você. Então, se puro como o Dodd, por que é menor do que o nosso grupo? Por quê? Então, pelo menos caímos uma ou duas vezes. É esse o caso só então queremos ter a certeza de que colocamos isto dentro da grelha. Então atualizamos a grade pela posição da criança aqui para podermos dizer a grade. E em um tijolo quadrado, vamos escrever isso mesmo que eu ache que não precisamos disso em uma Integra. Arredondá-lo para ser em pausa X vírgula mais uma vez abrir parênteses perto em Então, mais uma vez, typecast posicionado fora Por vírgula E mais uma vez, na última semana em um typecast ah, posição. Eu pensei que em uma entrevista completa aqui e colocar isso no grande e nós queremos
fazer é que nós queremos definir este ser igual a criança. Então, a criança que estamos atualmente passando porque mais uma vez, isso é do tipo transformado também, e nossa grade é tipo transforma para que a criança possa se encaixar na transformação. Muito bom. Agora temos todos os pais. Nós nos livramos dos objetos pais e nós só preenchemos objetos filhos se você quiser, você sempre pode fazer o comando aqui. Excluir possíveis objetos pai. E aqui, Phil, em todos os objetos infantis, como todos os objetos infantis, teremos dentro de blocos de madeira. Mais uma vez, os objetos pai têm os objetos onde este Tetris bloqueia. Mas os objetos filhos como todos os quatro quads ou cubos dentro deste desejo são três para essas outras crianças que queremos implementar ou em seu lado, nossa grade aqui, uma que estamos realmente atualizando a grade. Nós não queremos ter os objetos pai porque eles são basicamente apenas os vazios. E podemos nos atrasar se quisermos jogá-los fora. Mas precisaríamos guardar os objetos cansados aqui também, mas isso não é realmente necessário. Então, estamos ótimos. A grade ou atualizar a grade. Sempre que chamamos isso de qualquer bloco Tetris, vamos pedir uma exportação. Vamos nos certificar de que finalizamos o porto ao lado do bloco Tetris
17. #17 Grid de blocos de Tetris: Bem-vindo de volta ao curso nesta parte. Queremos continuar a trabalhar no bloco Ted Rose novamente. Isso é abrir este em mono desenvolveu este apenas estúdio sempre que você quiser. E
como você pode ver, sempre que tivermos um Murph válido, queremos atualizar a grade com nossa posição atual fora do bloco Tetris atual. Para fazer isso, chamamos de campo de jogo. Não instância, não. Eu sou um encontro grit. Eu quero atualizar a grade era o bloco em que estamos atualmente, para que possamos passar por isso. Esta é uma palavra-chave especial que vai estar relacionada com o que quer que o script atual é vamos ter aqui ou nós também podemos fazer é podemos nos preparar tarde para criar um novo
objeto em uma posição específica sempre que não estamos mais nos movendo. Então nós geramos um novo azulejo ou um novo bloco de farrapos Paz aqui
18. #18 Verifique o movimento de valor: Bem-vindos de volta ao curso. Esta parte de nós queremos ter certeza de que nós verificamos se em algum lugar em nossa grade já é uma peça que é ou foi atualizada para ser neste ponto, que nós não somos capazes de mover para a posição onde isso vai estar relacionado. Para fazer isso, vamos abrir um script de campo de jogo mais uma vez, e precisamos criar um novo fantasma, que também é público. Então não podemos acessá-lo mais uma vez do lado de fora. Eu quero fazer é que queremos retornar uma transformação, e vamos fazer esta com base em uma posição vetorial Sri mais uma vez. Primeiro, queremos pedir isso. Então, se em uma posição específica, há outro cubo já sentado como um mini cubo para fazer isso nós nomeamos isso talvez algo como obter transformação em grão ou algo semelhante ou grande posição. Então eu quero solicitar uma posição específica na grade ou dentro da nossa grade e ver se isso é tomado ou não. E com base nisso, sempre que for configurado corretamente, então queremos retornar. Não é ou vai devolver algo e com base nisso, o que quer que devolvamos, também
podemos verificar se há movimento válido. Precisamos fazer isso para comparar se podemos mover para uma posição específica ou até mesmo girar para uma posição
específica. Sempre que fizermos isso para renegar mais uma vez, vamos praticar. Ray, nomeie Pew s. Então esta é a posição que queremos verificar e nós queremos verificar primeiro é se estamos na altura fora da grade, então significa se aparecer como não. Por que, se isso é maior que o tamanho da grade, por que menos um? Então estamos, pelo menos, dentro da grade. Esse é o caso. Então queremos voltar agora porque estamos fora da rede, então não faz sentido nenhum. Então, voltamos? Não, nós também queremos fazer é se não for esse o caso, pois estamos realmente dentro do porquê. Bem, você queremos devolver o que encontrarmos, então pode ser não pode ser qualquer transformação. Basicamente. Então, o que queremos devolver é a grão entre parênteses rectos. E então tomamos em torno da posição a partir disso mais uma vez com base na posição fora dos agradecimentos. Então, nesse caso, nós digitamos rodízios mais uma vez em uma interjeção porque o grão só contém em apenas qualquer maneira. Então dizemos pausa, X vírgula. E, em seguida, mais uma vez, typecast em um inter Gia pausado velho Why vírgula e typecast nos novamente em uma pausa inteiro Não enviou. Então nós retornamos este valor Quando não há nada dentro, nós retornamos agora, caso contrário nós retornamos o
que quer que esteja dentro, qualquer que seja a transformação dentro dessa grade vai ser. Por que precisamos disso? Mais uma vez, precisamos ter certeza de que não podemos cruzar algo verificando seu movimento válido aqui dentro do bloco Tetris. Então, para atualizar agora, ataque movimento válido por aqui. Vamos criar outro para cada loop depois disso. Primeiro, queremos ter certeza mais uma vez de que estamos dentro da grade. Se isso não disparar e não nos jogar aqui, então vamos fazer o tanque secundário onde estamos e se formos capazes de nos mover para dentro. Então, nesse caso, vamos percorrer todos os objetos cansados mais uma vez. Então quatro transformam a criança e transformam então basicamente vamos fazer o mesmo. Repita esse passo, mas vamos nos certificar de que limpamos completamente. Primeiro, queremos fazer contra a posição do tipo arredondado por aeração. Então eu posso basicamente copiar esta parte desta linha. Em seguida, o próximo é nós queremos realmente chamar ou solicitar a transformação da função que
acabamos de criar vai nomeá-lo t para o que quer que seja a transformação. E agora chamamos a função que acabamos de criar. Então transformar t é igual a E agora falamos com o campo de jogo mais uma vez ponto instância não. E agora queremos obter e transformar na posição da grade. Então, transforme-nos em grão. Passamos em Pew s Então a posição arredondada aqui e guarde que agora dentro T agora podemos comparar t com o que quisermos. Por exemplo, de chá não é. Então sabemos que não há nada. Então, se t é realmente não igual a saber final e agora também podemos pedir um pai de dentes. Então, basicamente, ah, nós mesmos. Então, se não o pai não é igual a nós mesmos, então transformar. Então podemos dizer que retornamos falso. Caso contrário, mais
uma vez, iremos mais tarde e retornaremos. Verdadeiro. Então o que vamos fazer aqui é, se isso é algo na posição, mas não é nossa própria posição, basicamente. Então retornamos falso. Caso contrário, nós retornamos verdadeiro neste bloqueadores realmente livre, então nós podemos realmente fazer um movimento válido para esta posição. Vamos precisar desta funcionalidade completamente aqui dentro dos blocos de batatas. Então, cada bloco de taters pode verificar Melo Move, não importa que tipo de entrada ele vai fazer mais tarde. Então, quando estamos começando a mover os blocos para uma ou outra direção, não
importa qual nós queremos fazer. - Claro. Mais uma vez para nós, estamos dentro da grade. E então não houve interceptação dissecando nosso eu. Além disso, não
estamos cruzando nenhum outro bloco já existente dentro da grade.
19. #19 lista de blocos: Bem-vindo de volta ao curso nesta parte. Eu quero atualizar em um campo de jogo para que possamos dragar todos os blocos dentro de algum tipo de lista. E nós podemos. Eles não escolhem aleatoriamente da lista qual queremos incentar e criar. E então nós podemos realmente cuidar de lá fora que nós somos capazes de gerar novos blocos sempre que o outro, qualquer maneira que tenha antes não é capaz de se mover mais. Primeiro, abra no roteiro Playfield e vamos criar uma nova função para isso mais tarde
sobre movimento. O que eu também quero fazer é pegar este grande tamanho x y que e trazer isso
aqui para baixo para o seu porto. Eu quero criar um cabeçalho pequeno é apenas uma representação visual dentro de um
inspetor de guerra onde podemos literalmente fazer são colocar alguns espaços ou dar alguns nomes e coisas
assim no inspetor para nós ver as coisas mais fáceis. Então, entre parênteses rectos tinha uma casa, parênteses e entre aspas, podemos colocar em qualquer nome algo como visuais de Playfield ou algo assim indo para mostrar o que isso faz. Então você começa a entender do que se trata. Então, sempre que algo é um bônus do cabeçalho e abaixo do cabeçalho, o cabeçalho vai ser mostrado. Caso contrário, você começa em uma fileira. Como você pode ver, eu apenas colocá-lo no tamanho da grade X y e isso aqui. E os visuais do Playfield são apenas estes aviões. Agora o que eu sei também quero colocar em é outro cabeçalho que está representando por todas as nossas peças. Então, uma lista de todas as nossas peças e vamos ter outra cabeça. Então vemos essas coisas melhor. Também podemos colocar um novo raio. Basicamente, realmente
não importa. Nesse caso, eu vou colocar o cabeçalho com seus visuais de campo de jogo abaixo. Então eu vou criar outra cabeça aqui. Chame isso. Cabeçalho era uma grande idade Abra esses parênteses e entre aspas vão colocar em algo como pedras, blocos de
óleo ou o que quer que você esteja agradando como Mais tarde, vamos ter outro sobre o qual vamos falar mais tarde. Então, nesse caso, podemos agora precisamos ter certeza de que sob um cabeçalho vem um público. Podemos mais uma vez tomar uma lista ou uma matriz. Neste caso
, não importa. Pode fazer uma matriz de objetos de jogo aqui e nomeá-lo Blocos ou lista de blocos fora da matriz de blocos blanc. Eu não sei. Lista. Mais uma vez, você também pode fazer uma lista. Não metáfora essa parte. E o que ele faz é que ele cria outro cabeçalho e uma matriz pública fora de um jogo de macacos onde podemos colocar em todos os nossos blocos de varredura, ver onde blocos cabeçalho o tamanho da lista de blocos de zero. Agora podemos levar todos esses pré fabs e direcioná-los para aqui. Certifique-se de que você só tem um fora de comer na lista. Há também a possibilidade contra o dedo do pé. Selecioná-los todos ao mesmo tempo, mas precisamos bloquear aqueles seleção aqui era um pequeno símbolo de bloqueio. Então nós podemos basicamente preencher tudo isso de uma vez ou basicamente, com a seleção completa dentro do bloco vai mostrar se vamos reduzi-lo a zero. Então fora do curso nada dentro novamente. Eu pego o símbolo da
fechadura, tranco meu inspetor, seleciono todos e os trago para dentro da lista local de bloqueio aqui, sobre o nome que você pode ver, nada mais uma vez é insight. Preciso de ter a certeza de que desactivei o símbolo da fechadura para continuarmos a trabalhar no
campo de jogo . Já que não temos blocos antigos lá dentro, vou bloquear a lista. Sabemos que podemos escolher entre eles. E no momento em que ela comeu qualquer pedaço aleatório desta lista de bloqueio em particular. Então nós podemos apenas calcular qualquer em seguida, como algo entre zero e cinco no momento ou qualquer quantidade mais tarde vai ser. E então nós vamos escolher, Digamos que este bloco por este índice. Então, em seguida, representaríamos o quê? Pergunte ao sim manhã e ao bloco El.
20. #20 de criar novos blocos: Bem-vindo de volta ao curso nesta parte. Queremos criar uma função de geração que está realmente gerando uma das peças da nossa lista de bloqueios algures aqui no topo. Para isso, vamos abrir um roteiro de campo de jogo. Precisamos criar uma nova ajuda de função para isso porque é mais fácil de excesso. E também
, precisa ser público. Desde que queremos falar do velho bloco Tetris foi foi aterrissado para que para gerar
um novo . Então vamos criar um novo bloco de geração pública. Eu sou cresce parênteses em si tipo vazio. Já que não devolvemos nada, só
fazemos coisas. Primeiro, precisamos calcular o ponto de desova. Onde queremos desovar nosso bloco Tetris para dissolver? No início, calculamos o ponto com base nos vetores três. E o que vamos fazer é dar um nome a este. Talvez o ponto de geração ou a posição de geração não importem. E isto vai ser igual e relacionado com a nossa posse de ponto de origem ou a nossa
posição de transformação do Playfield. Então o que podemos fazer é onde você pega a altura máxima. Precisamos arredondá-lo para um inteiro, é
claro. E então precisamos ter certeza de que tiramos metade do X e metade do valor triste para que
possamos realmente ter certeza de que sempre arredondado para o tamanho certo sim e somos capazes de
trazê-lo para a posição do tribunal. Então vamos fazer isso. Primeiro, precisamos criar um novo Vector 3 e então aqui precisamos calcular para nós a exposição. Então, mais uma vez, exposições da esquerda para a direita. Então, primeiro, queremos ter certeza de que digitação e este em uma entrevista. Então temos um número completo. Vamos levar? Eu quero transformado uma posição, os decks e, em seguida, adicionar mais uma vez acidente tamanho grade. Divida isso por dois Então grande tamanho X, e divida isso por dois. E mais uma vez, precisamos de Teoh digitou este ele em uma flauta, pois de outra forma teríamos um
comportamento estranho e ah, e o cálculo seria meio errado. E, mais tarde, mais
uma vez, nós digamos se importa com este em uma entrevista novamente. Então temos um número completo baseado no que saiu. Então, o próximo vai ser o “Por que você vai?” Mais uma
vez, será a altura que podemos ajustar. Renda Mayes que Ou como você tirar a altura da altura atual, mais a altura grão neste caso. Então vamos digitar isso mais uma vez em um inteiro e pegamos mais uma vez a posição do
ponto transformado fazendo para o porquê e nós adicionamos ou grupo tamanho Não y a ele? Simples. Agora temos o último, que será o triste valor que você se lembra, provavelmente também. É basicamente nada mais do que eu quero o valor X, mas apenas e o em que o acesso. Então precisamos digitar isso em um inteiro que vamos tomar transformar a posição, não é? E adicionamos flauta elencada. Tamanho da grade Azad dividido por dois. Então este vai ser o nosso ponto de desova. Mais uma vez, você também pode digitar tudo isso em uma linha. Não importa para a codificação aqui. Agora podemos pegar qualquer aleatório em seguida, que podemos calcular aqui mais tarde. Provavelmente pegamos um índice pré-calculado quando vamos fazer algo, como revisar um bloco, então fazemos o cálculo em outro lugar, e depois vamos cuidar disso mais tarde. Então, nesse caso,
vamos, por enquanto, por enquanto tomar um índice aleatório,
como já expliquei, como já expliquei, e fazemos isso ou calculamos esse índice aleatório por intervalo de pontos aleatórios entre zero vírgula e então o tamanho máximo fora de toda a lista de blocos ou os blocos dentro de uma lista de blocos de madeira para que
possamos dizer lista de blocos não comprimentos. Então os comprimentos máximos aqui e como o comprimento é diferente atualmente tem um comprimento
fora do sexo trazido, o último número será sempre ignorado. Então vai ser um índice entre zero e cinco. E isso está correto. E então quando não precisamos fazer é que sim nasceu o bloco real para que possamos dizer que desovamos o bloco aqui. Já temos qual bloco queremos. E nós temos esta posição nascida um pouco mais não é necessário neste momento. Então o que vamos fazer é criar em seu objeto jogo se sabia bloco é igual a em San ela comeu de vai prentice facilidade primeiro off. O que queremos instaurar? Ela comeu é baseado mais uma vez no índice aleatório de nossa lista de bloqueio novamente. Então, podemos dizer lista de blocos entre colchetes, índice
aleatório. Então, seja qual for o índice, este é o objeto que queremos gerar. Desde esta lista de bloqueios, fora do tipo objeto jogo. Agora podemos dizer, qual é a posição e onde queremos desovar Isso vai ser no ponto colher. E o passo final será a rotação. Neste caso, nós apenas tomar sair Ernie na identidade ponto e depois dos parênteses. Precisamos digitar isso como um objeto de jogo novamente. Caso contrário, teríamos um objeto, e isso seria errado. Estes parênteses não são necessários aqui, então nós apenas protegemos nosso script agora. Nós vamos fazer algumas coisas extras aqui mais tarde. Então eu vou fazer um pouco de coisas fantasmas aqui, bem como nós precisamos definir algumas importações mais tarde neste momento. Sim. Bem, agora, o que podemos fazer é do bloco Tetris sempre que foi emprestado. E não há mais nada para fazer aqui. Nós podemos basicamente criar um novo bloco Tetris para que agora possamos falar para jogar campo porta instância Não. E agora vamos dizer o bloco Spawn New oh, treinos
próximos e fechar a linha foi um ponto semi cólon. Agora podemos testá-lo. Vamos deixar nosso compilador funcionar, fazer tudo correto, e sempre que nosso TPS vai pousar no chão, você pode ver que é continuar gerando novos blocos. Há outra exceção de reverência aqui, que precisamos verificar bem rápido. Isso é mais uma pequena coisa que esquecemos em uma função de grade de atualização. É aí que não há nenhuma referência para eu vir junto mais uma vez. Além disso, você só pode ver isso quando o cônsul está aberto. Então o que precisamos fazer é ir e abrir uma função Wimple atualização grit. Em nosso script Playfield, precisamos adicionar uma linha extra, que é verificar se o campo atualmente tanque não é igual a saber, então, caso contrário, ele não pode checar os pais e bloquear as transformações, porque sempre que é Não, não
devolve nada. Nesse caso, vamos colocar a bolsa no Scrabble. Ele fica mais uma vez X vírgula Wycombe Azad, se isso não é igual a saber. Só então queremos ir em frente e checar os pais dentro disso. Então eu vou pegar este porto e trazer este não. Então eu colo ou copio ou, na verdade, corto e trago isso aqui. Então, mais uma vez ,
primeiro, precisamos ter certeza de que não estamos tendo analógicos por lá. Caso contrário, entramos de repente. E se encontrarmos algo aqui
, só podemos cuidar dos pais. Esse é o problema que tivemos antes. Não se esqueça de salvar o script. Não se esqueça de salvar sua cena. Se você fez alguma grande mudança e coisas assim agora podemos fazer outra verificação. E sempre que nossa paz vai pousar no fundo, devemos ser capazes de criar um novo bloco. Quero ver onde será esta posição. Lá vamos nós. Vou pausar o jogo. Como você pode ver, este bloco não é criado desde o seu ponto de pivô é aqui no centro, é basicamente centrado dedo do pé um campo de jogo em como você pode ver no porquê. Bem, você está neste valor então no valor X, ele também está centrado. E,
claro, vai ser o mais alto. Ponto foi criado como aqueles dois blocos foram basicamente lá fora, então eu posso realmente trazer isso para cima. Esta é a posição de origem de onde veio. Mais uma vez, este é o ponto de pivô, e ele vai ser centrado completamente correto. Baseado na posição fora do nosso sim, Playfield aqui. Isso é bom. Isso é o que precisamos e queríamos. E agora nós também podemos deixar este cair e ver o que vai acontecer sempre que
cair e se ele vai para o pé, você pode ver que ele já pousa sobre os pedaços que encontra ali. E, claro, nós vamos ficar presos na precisão em um ponto específico aqui.
21. #21 Correção de posição em bloco de Spawn: Bem-vindo de volta ao curso nesta parte. Queremos ter certeza de que sempre que estamos gerando um bloco que é corretamente dito com base na posição melhor Lee na posição fora do nosso bloco de transformação aqui. Portanto, precisamos arredondá-lo corretamente para a posição em que queremos ter isso. Bem, não
precisamos fazer é ter certeza que no nosso campo de jogo, onde quer que estejamos no novo bloco ali, vamos digitar está completamente correto. Nesse caso, atualmente, apenas transformar posição ponto Exe tem tipo. Lançá-lo em um inteiro, mas este não fez. Uma vez que este retorno ao número comum que precisamos fazer é precisamos de uma porta, outro par de Prentice em torno do cálculo completo Então, agora podemos digitar um inteiro em torno do resultado completo de todos esses números. Então este aqui não precisa ser transformado novamente porque este é o pleno em Jen. Este é um inteiro completo. Mas esta parte aqui também precisa ser mais uma vez encapsulada em um par completo de Prentice do cálculo completo como esse. Então nós vamos ter a digitação para o completo tudo o que está vindo depois. Dentro do par de cálculos de Prentice, não se esqueça de salvar seu script. Vamos voltar. Deixe o compilador executar e ver é que correções são responder posição? Sim, problema. Na verdade, deixe cair novamente em ver o que a próxima telha vai fazer, bem como o que esta telha vai fazer aqui mais uma vez. Atualmente, não
estamos relacionando a queda com base na posição ali. Mas provavelmente deveríamos fazer isso. Então, como você pode ver Não, esta ocular caiu e agora está em plena Pirâmide é como full 262 na Áustria, acesso tudo é agora um número reto e também, quando ele apenas continua, cai para baixo, Ele vai fazer todos os outros também. E todos os outros que estão descendo também são vistos corretamente ali.
22. #22 Entrada de movimento: Bem-vindo de volta ao curso nesta parte. Quero começar a trabalhar no movimento dos nossos blocos Tetris para coisas que precisamos para criar uma nova função dentro de um bloco Tetris. Esta função mais uma vez, vamos apenas cuidar do movimento básico baseado em um vetor de entrada, por exemplo. Lecter, UMP, Conector para baixo. Trabalhe à esquerda, à direita em frente quaisquer vectores que vamos ter aqui. Primeiro criamos um novo Voigt. Mas quero ter certeza de que isso vai ser público. Desde mais tarde, quando eu quero Excess D de botões também Diga a entrada do conjunto de pontos públicos que podemos definir qualquer importante mais tarde com base em um vetor vetor três fora do curso, vamos nomeá-lo algo como direção. Então temos quatro direções onde estamos para onde queremos ir, e o que queremos fazer é sempre que enviamos essa direção para isso, queremos manipular a posição de transformação fora do nosso bloco. Então nós sentamos transformado uma posição mais igual qualquer que seja a entrada direciona e vetor vai ser então o que quer que nós estamos indo para entrada é sempre um em uma direção como, é um para a esquerda? Querer é certo. Um para cima ou para a frente ou um para trás Watts Nós também queremos fazer é sempre que tínhamos feito era que queremos shack se isso é um movimento válido ou não, se isso não é um movimento válido. Então, se não Jack, desenvolva, mexa-se. Queremos voltar de onde viemos. Nesse caso, nós vamos dizer transformar posição ponto menos igual a direção que nós apenas colocá-lo em caso contrário, então o resto. Então, se formos capazes de fazer esse movimento, queremos atualizar a grade com nosso bloco recém-criado ou quase movido. Nesse caso, vamos ligar. Eu não vou jogar porta de campo. Instância. Não atualize a grão. Quero actualizar esta grelha com isto. Ótima. Eu sempre este quarteirão. É isso. Isso é o que precisamos apenas para o movimento em si. Agora só precisamos falar sobre como queremos fazer essas entradas. Mais uma vez, estou mirando em botões como sempre que temos um Ken voador. Íamos colocar um desses botões? E com base na entrada desligada, esses botões iam dizer enviar a direção dentro daqui você também pode fazer. Há uma atualização se gostarmos do Teoh se você quiser, já que todas as outras entradas são baseadas no mesmo conteúdo. Então, por exemplo, o que podemos fazer é que podemos dar qualquer entrada aqui como um Rocchi ou um SD em W. Se você gosta de Teoh, qualquer que seja a entrada, você pode pegar isso e fazer uso fora da direção de entrada definida, por exemplo. Vou dar-vos um exemplo para isto. Então, se a entrada não baixar a chave, então qualquer que seja a chave e quando precisamos fazer é colocar em qualquer código de chave, não faça algo. Então, por exemplo, vamos pegar à esquerda uma fileira como esta. Se pegarmos a seta para a esquerda no teclado do nosso ano aqui, vamos colocar chaves fechadas. Então, se estamos indo para ah, tomar e entrada seta esquerda, nós só precisamos Teoh chamada set entrada e colocar em qualquer direção Vector. Nós queremos realmente enviar nossa pedra também, ou nosso bloco para que possamos dizer set input e sempre colocar em algo como vetores árvore não sai e é isso. Mais não é necessário Mais uma vez, você pode repetir isso para todos os outros para que possamos basicamente fazer uma livre circulação se você quiser. Então, basta copiar e colar tudo isso. E aqui quando estamos dizendo OK, vamos pegar a seta para a direita aqui, então vamos colocar o Vector 3, certo? Sempre que estivermos, como uma linha acima, então vamos dizer para frente. E quando pegarmos a seta para baixo, vamos colocar de volta. Então, basicamente, esta é uma entrada de teclado, que podemos absolutamente fazer uso fora mesmo que não façamos ou eu não queira. Então, se você quiser fazer uso da entrada do teclado, este é o caminho a seguir. Vou mostrar isso. Então você vai ter uma idéia sobre isso vai pressionar play. Você também pode configurar várias chaves. A vontade é com você. Então, sempre que agora eu pressionar qualquer botão como para frente e para trás e esquerda e direita. Eu basicamente posso colocar esses pedacinhos em qualquer posição que eu goste, não podemos fazer o mesmo. O vetor de rotação foi mais tarde também? Então, atualmente está um pouco em cima, mas como contra ver, agora
podemos dirigir todas essas peças para qualquer posição que queremos nos colocar em. E então seremos capazes de dissipar seu próprio cheque se formos capazes de, você sabe, limpar uma camada. Mas é isso que vamos cuidar disso mais tarde. Então, no momento, temos algumas entradas básicas de resina simplesmente feito na próxima parte de nós vamos dar uma olhada em rotação.
23. #23 Entrada de rotação: Bem-vindos de volta ao curso. Esta parte. Queremos dar uma olhada. Responda como funciona a rotação. São algumas coisas que precisamos ter em mente, porque sempre que fazemos uma rotação de três vias como rotação de cabos de exploração e
rotação Zad , não
temos muitas chaves. Ou talvez não as melhores teclas do seu teclado porque atualmente estavam girando a câmera com a mão direita. Como sempre que somos um, você sabe, arrastando o mouse por aí para que nós não usemos ou não podemos basicamente ser capazes de usar as teclas como abdómen esquerdo, setas
direitas. Acabamos de criar no último vídeo para fazer um bom fluxo de trabalho, um bom jogo que, dizer sentimento. Queremos ter certeza mais tarde de que só fazemos entradas de mouse, mas para fins de teste vamos dar-lhe uma idéia de como tudo isso funciona. Vamos supor que vamos fazer uso dessas chaves também. Mas nós vamos nos livrar dessas importações de qualquer maneira, então ou você também pode ir e pegar qualquer outro ano entradas aqui como ex-esposas, que qualquer coisa ou outras chaves, você vai dar uma olhada nisso. Mas uma vez que também temos possibilidades de rotação negativas como podemos girar para a esquerda como no sentido horário e anti-horário. Esta não é uma boa solução. Ou você apenas limitado dedo do pé fazer a rotação em uma direção. Como sempre, você precisa girar quatro vezes até voltar para o lugar de onde veio. E às vezes não é uma boa ideia fazer isso. Então criamos uma nova função pública fora do vazio. Já que não devolvemos nada e, neste caso, não
vamos apenas fazer uma entrada de movimento, vamos fazer uma rotação no porto. Então eu vou nomear essa entrada de rotação de corrida, e o que vamos colocar aqui também é um vetor, como já fizemos na outra entrada. Então, e este, vou dar um nome a esta rotação de chamadas abertas, chaves. E o que não queremos fazer é girar ou paz. E para fazer isso, não
podemos simplesmente fazer uso, transformar o pensamento, girar e girar. Só precisamos pegar um vetor neste caso, como você pode ver, Vector 3 Youlus. Então, nesse caso para nós fora, queremos ter certeza de que usamos o vetor de rotação estava passando, não importa qual deles. A questão é que, quando fazemos isso, temos apenas uma rotação local ou espacial. E isso significa que a entrada como sempre, vai se tornar errado. Queremos ter a nossa rotação baseada no espaço mundial. Nesse caso, dizemos espaço vírgula, não auto, porque eu é aquele que normalmente está ligado. Queremos ir para o espaço. Não murcha o 2º 1 Isto é absolutamente crucial e importante. Apenas mantenha isso em mente. Então, mais uma vez, agora vamos fazer a verificação dos nossos colegas mais uma vez. Então, se não, verifique, desenvolva, mova-se. Então não importa se estamos fazendo uma verificação de movimento ou uma verificação de rotação. Se não tivermos um movimento relativo, queremos girar para trás. Nesse caso, vamos copiar essa linha de volta e trazer isso aqui e negar o vetor de rotação. Então dizemos menos rotação, ainda
giramos no espaço mundial absolutamente importante aqui. Então, claro, vamos fazer outra verificação. Então, se a rotação estava correta que queremos atualizar todos os campos de jogo para que possamos dizer campo de jogo, por exemplo, não atualizar grit abrir fechar parênteses. Fechado a linha era um semi cólon. E lá dentro. Vamos colocar neste bloco em particular. Queremos ter atualizado dentro de um aqui Muito bom. Não se esqueça de proteger, e isso é tudo sobre rotação. Agora, só
precisamos chamar a rotação com base no fator. Ok, então vamos supor que vamos fazer a seta para cima agora para uma rotação X. O que precisamos fazer está fora do curso. Precisamos colocar o vetor correto neste caso. Então vamos supor que eu vou pegar meu vetor para cima e girar para cima
como quatro na frente, como ,
você sabe ,
na direção para frente , como naquela direção, mas sobre o eixo x. Então, como funciona? Vamos dizer “ajustar a rotação de entrada aqui”? Mais uma vez, eu vou comandar ou os outros aqui fora porque nós realmente não queremos fazer uso fora do loop de
atualização para isso. Quero dizer, você pode, sabe, saber como funciona. Você só precisa colocar as chaves corretas. Você quer fazer uso? Você também pode colocar tudo isso em um
S.D . W. algo assim. E para as rotações na saída no CV. Quaisquer que sejam as chaves para você mais uma vez, eu vou mostrar-lhe o outro caminho com os botões um pouco mais tarde porque nós basicamente apenas chamar as mesmas funcionalidades desses botões ou funções que estão acessando este particular. Mas você é o bloco Tetris aqui. Ok, então o que nós queremos fazer é enviar a entrada de rotação do aqui como mais uma vez sobre o excesso de ex. Neste caso, vai ser uma rotação de 12 vetores. Restam três pontos. Pode ser isso. É também os vetores, ler ou escrever. Mas vamos supor que é o Victor esquerdo. Então vamos dar uma olhada. Então, sempre que os compiladores terminarem de rodar e eu apertar a tecla para cima, devemos girar. Mas é bastante lento neste ponto, vez que só retorna um número fora de um. Vamos precisar declarar esta tradução vetorial um pouco diferente. Nesse caso, vamos criar um novo Vector 3 como esse. E agora podemos colocar qualquer vetor aqui. Então nós pensamos com 000 E como nós queremos girar cerca de 90 graus, nós vamos dizer, OK, nós queremos ter uma rotação ex de 90 graus para a frente. Excesso também pode colocar em um negativo. Então iríamos rolar para trás como se fosse a chave para baixo. Por exemplo, vai copiar isto e trazer isto para lá? Também podemos dizer que isso vai ser um menos 91 estavam pressionando o burro. Então, basicamente, fazemos o oposto. Vamos fazer o compilador rodar aqui, pressionar play. E agora, sempre que eu apertar a tecla para cima, eu tenho que apontar para este lado ou eu vou girar para o outro lado e você pode ver que eu posso continuar girando até eu cair no chão e eu não sou capaz de fazer nada que você pode ver. Você também pode fazer isso com o próprio cubo. Então, ou mesmo com este l peças que você e alguma vez dizendo pode agora girar fora do curso, nós vamos perder rez. Um simples E isso é tudo sobre rotação. Precisamos saber sobre
24. #24 UI de movimento: Bem-vindo de volta ao curso nesta parte. Eu quero começar a criar cada possibilidade de entrada sobre botões diretamente formar para cada pedra . Vamos fazer uma configuração especial, que vai atrasar automaticamente para a próxima peça aqui. E também, sempre que clicarmos de baixo ou de cima, ou onde quer que este botão que vamos criar esteja localizado, teremos uma reação. Primeiro, eu gostaria de criar um objeto de jogo vazio que está cuidando da posição e
tudo o mais relacionado a isso. Mas vou redefinir este . Vai ser às mil por aqui, se você quiser. Você também pode dar-lhe um Nike in. Mas você não precisa. Por exemplo, este eu vou nomear meu objeto de jogo. Algo como entrada Holder. Este detentor de importação mais uma vez será reposicionado mais tarde e também cuida do que vai ser ativo e inativo. Então vamos criar um roteiro para essas coisas aqui também. A primeira coisa que queremos fazer é criar. E você eu lona esta tela é geralmente definido para ser sobreposição de espaço de tela, que você pode ver no inspetor e espaço de tela Overlay é apenas um enorme e também não
no tornozelo correto. Eu quero que este para baixo em torno do meu objeto titular de entrada para que ele também pode colocar em torno do meu bloco mais tarde sobre o que eu quero fazer. Eles querem mudar a tela para que possamos fazer uso dela e localmente,
dependendo de onde e como quisermos. Para mudar a tela, precisamos ir para o modo de renderização e mudá-lo no espaço do mundo. Então ele está apenas sentado em algum lugar do mundo. Nós também precisamos fazer é que precisamos mudar a câmera do evento para ser a nossa câmera principal para que você possa apresentar o pequeno ponto ir para a resposta cena para selecionar a câmera principal. Tudo. Els não é importante para nós no momento exceto o tamanho e a rotação fora. Vamos supor que eu quero jogar Field aqui vai ser cinco por cinco por cinco por hora. Bloco geralmente não é superior a quatro por quatro, dependendo de quão grande esses blocos são. O que você quer fazer é que você quer ter este, pelo menos, um campo de oito por oito
em volta do nosso quarteirão. Então vamos fazer isso. Primeiro, eu quero tirar a tela e fazer uma criança fora do suporte de entrada para que eu possa fazer a posição relacionada ao titular de importação. Então eu zero este primeiro, então ele vai estar em algum lugar aqui. Além disso, eu quero reduzir o tamanho para o momento para oito por oito. Então estas são unidades oito unidades por oito unidades. Você também pode ver isso diretamente na grade aqui. Além disso, o que eu quero fazer é que eu quero girar este por 90 graus para trás quer que você também pode fazê-lo frente basicamente não importa. Então nessa tela eu quero colocar em todos os meus botões para controlar o bloco de eixo para fazê-lo. A primeira coisa está fora de curso. Criamos um botão. Este botão vai ser bastante grande. Então precisamos pedir o redimensioná-lo já que estamos usando o mouse e sabemos que esta unidade e a outra é uma unidade. Provavelmente mudamos para dois por dois. Se dois por dois é muito pequeno, você sempre pode ir e torná-lo maior quando você conhece um dragão ao redor como no lado direito da tela. Ou, neste caso, fora da tela, você pode ver que pequena linha cinza do você pode verificar se isso é muito grande, tudo muito pequeno para nós entrada. Agora, o que eu quero é mudar o Sprite do dedo do pé dos meus sprites. Como eu não tenho nenhum sprites definido, vamos para o Texas e pegamos essas duas flechas mantendo o controle. Então, como eles e queremos mudá-los para se espalhar para o u eu e aplicar as mudanças. Agora eles têm um fundo transparente e o guarda um sprite real que agora podemos beber em um botão. Então agora vamos mudar o dedo do pé um estreito. Como você pode ver, a qualidade parece bastante OK. Então este vai ser o nosso botão X, como ele também pode sempre ver por aqui. Então quatro movimento baseado em x. Então esta tela, a
propósito, é o que queremos renomear para algo como Move, Pode isso porque mais tarde, teremos várias telas aqui. Então este mais uma vez é o botão X positivo. Vou dar o nome de X P para X positivo. Eu também posso duplicar isso girado em 90 graus e cortar Há para o outro lado da minha cama fora daqui. Este vai ser o meu botão “ex Negativo”. Daí eu o nome de X e E G.
Negativo. Agora precisamos também ter algo muito para aqueles que valorizam para que possamos mover nossas pedras nessa direção, como ele sempre pode ver no sistema de coordenadas. Aqui no topo, canto
direito da cena. Então, precisamos de um que positivo e negativos na Aero S. Bem, então nesse caso, nós apenas duplicamos posts, controlamos eles. Nós vamos para o centro porque nós temos que resolver assim também. Em seguida, mantemos o controle pressionado e encaixe girar em torno do centro. Agora, de novo, basta entrar. Volte aqui para o ponto de pivô. Então só temos um desses pivôs. Na maioria das vezes, os primeiros eleitos giram. E aqui nós apenas renomeamos este. Já que essa irmã desse negativo vai mudar o nome para o pescoço. E o 1º 1 vai ser tão positivo? Isto é para nós mais tarde. Importante. Então, mais fácil encontrar o que estamos realmente fazendo no momento que agora podemos fazer é criar funcionalidades para esses botões, bem como trazer o suporte de entrada sempre para o nosso
bloco
Tetris , o que estiver ativo. Mas, por enquanto, terminamos. Papai estava aqui?
25. #25 UI de rotação: Bem-vindo de volta ao curso nesta parte. Eu também quero criar as telas de rotação. São três telas diferentes que precisamos para a rotação, uma vez que vamos ter uma exploração A
rotação Y e Azad rotação para vender, podemos, por exemplo, tomar a tela de movimento e apenas controle duplicado. D renomear este 12 talvez girar tela X. Nós queremos fazer isso. Já que queremos girar sobre o acesso do machado, queremos trazer isto assim. Por que é a correta? Porque estamos girando em torno do eixo X. Então, em torno deste excesso, que vai ser assim, então o que queremos fazer aqui é só precisamos de duas flechas para a exploração. Você também pode sempre ir e trazer mais. Então, por enquanto, eu novamente me livro deste. Eu também a se livrar deste. E o que podemos fazer é pegar e trazê-los para algum lugar onde quisermos ver a rotação para os valores X. Podemos colocar isso em cima para realmente fazer uma rotação dessa maneira. Talvez essa seja a melhor solução no momento. Então vamos arrastar os botões para isso. Mais uma vez, nos aguentamos até chegarmos aqui e vamos trazê-los para o centro. mesmo para o outro lado. Nós os levamos primeiro e depois para o centro. Já que são rotações, assim que mudaremos as setas, então vou trocá-las para rodar o Aargh. E este também para girar ao redor. O que você vê é que este é realmente girado erroneamente. Então vamos fazer e rotação negativa anos Hoover. Bem, se você gosta do Teoh, você sempre pode deixar algum espaço. E entre essas flechas
, provavelmente são mais fáceis de ver. É só um pouco de deslizamento. Não se esqueça que você não quer fazer o texto, mas o botão em si algo assim. Então, é mais fácil de ver e mais fácil provavelmente tocar e não perder. Uma vez que temos esses elementos sexuais de um jovem nossos botões, podemos realmente ir e apagar aqueles como eles e apertar excluir. O mesmo para a mudança. Can era que nós não precisamos desses elementos fiscais aqui, então nada precisa ser renderizado extra porque nós não precisamos dele novamente. Agora vamos renomeá-los Então esta vai ser a rotação do Jornal Xnegativo. E este vai ser o botão X positivo rotação A, na verdade. Agora, o que nós também queremos é ter alguma rotação Ah, Fouras disso e o valor y. Podemos, mais uma vez, decidir onde queremos posicioná-los. Vou desativar o movimento, podemos associar podemos ver as coisas melhor. Então, uma vez que é mais uma vez assumir. Ou vamos supor que isso esteja sempre sobrevoando o ponto de rotação do bloco ou
bloco selecionado atualmente . Quando eu trazer isso aqui para o ponto de pivô do nosso
bloco atual selecionado ou atualmente ativo , você pode ver como isso vai parecer quando nós queremos nos ter de um ano. Apenas mais um onde podemos girar sobre o acesso selvagem em outro que nos permite girar foi que excesso Mais uma vez, como você colocar isso juntos é totalmente até você. O mesmo com tamanho, design e qualquer outra coisa. Vou pegar a tela X girar e duplicar completamente e trazer isso aqui. Então esta vai ser a nossa rotação. Por que, na verdade, talvez
eu não goste de ter as flechas aqui. Mas talvez eu os leve para lá mais uma vez. Isso é uma decisão de design total para você. Eu não tenho que fazer nada com isso. Eu tenho um nome. A renomeação. Este. Toby, gire tela. Ora, este vai ser o botão negativo do vinho. Isso deve ser... Bem, não. Acho que este é o porquê negativo. E o outro é o “Porquê “positivo. Vamos verificar isso mais tarde, de qualquer maneira? Porque nós vamos criar algumas funções que vão cuidar disso. Então, vou mudar o nome deste dedo. Por quê? Negativo neste, Terno B. Por que positivo se não mais uma vez, Nós sempre podemos mudar isso mais tarde. Então, no final vai ser para o acesso Zad para que possamos realmente pegar a tela X mais
uma vez com rotação duplicada, nos
encaixou para a direita e girar encaixou isso para este site. Então, nesse caso, esta vai ser a rotação Zad. Como você sempre pode ver. Mais uma vez, temos girando em torno do acesso Zad por aqui. Então, para fazer isso, nós também podemos pegar nossos botões aqui. Em primeiro lugar, renomeamos os Jogadores para serem o nosso Canvas de rotação Zad. Este deve ser o botão positivo Ent. Então eu vou renomear este para ser pobre como aquele positivo. E o outro deve ser o negativo mais uma vez aqui também. Se isso é errado, nós colocamos em apenas mudar o comportamento fora deles. Então, de volta a este modo, podemos ativos. Veja, agora temos três possibilidades de mudar a nossa paz. Eu quero um golpe. A pedra angular. Agora só precisamos criar o código que é um fazendo todo o trabalho para nós dentro ou
suporte de entrada .
26. #26 Mini Clean-Up UI: Bem-vindos de volta ao curso antes de entrarmos. Crie o script para isso. Eu quero que você se certifique de que o seu suporte de entrada, que está atualmente aqui, mas o ponto de pivô é realmente mostrado para mansos e não corretamente. Quero que se certifique de que todas as suas telas estão aqui em volta da entrada mais velha, que é para mim este pequeno botão de marca de seleção. Então o que eu quero fazer é que eu quero reposicionar tudo aqui 2000 em vinhos X que coordena Não ressenti-los porque ele também vai visitar a rotação. Não se esqueça de salvar sua cena e então estamos bem para ir Toe me pediu para fazer o código?
27. #27 InputHolder: Bem-vindo de volta ao curso nesta parte. Queremos iniciá-la para criar tudo sobre o nosso detentor de importação e, qualquer forma ocorreu obter, qualquer maneira nossa conexão com o nosso atual bloco Tekla rece, bem
como atualizado em conformidade. Para coisas que vamos para a pasta quase scripts e criação de novos navios ver viagem, você pode nomear isso o que quiser. Por exemplo, entradas de
botão. Você também pode nomear este suporte de um item ou suporte de entrada neste caso até você. Abra este em mono Development ou Visual Studio ou o que eu quiser. Uma vez aberta, queremos mudar a mensagem de início para ser uma mensagem acordada, e vamos manter-nos atualizados, já que provavelmente sabemos que vamos fazer uso disso. Primeiro, queremos ter certeza de que Button Input está se tornando instância extática, como já fizemos para todos os jogos alimentados. Então, nesse caso, dizemos estética pública em entradas de botão. Instância. Então, instância, mais
uma vez, é o nome da instância para excedê-lo em um piscar de olhos. Nós apenas definir instância para ser igual a este para que nós só temos uma instância lá. uma vez, isso é chamado mais ou menos um único que precisamos fazer é que precisamos realmente mudar ou obter acesso à tela de movimento, bem como a todas as telas de rotação. Nesse caso,
primeiro, primeiro criamos um objetivo de jogo público, Ray. Então objeto de jogo, abra feche colchetes. E vamos dar um nome a essas telas giratórias ou algo assim. Além disso, queremos o dedo do pé Xs a tela de movimento. Então, nesse caso, objeto de jogo
público mover tela. Bem, nós sabemos que queremos saber qual é o bloco ativo real. Então também precisamos armazená-los em jogos de decks ou até mesmo blocos de Tetris. Nesse caso, em primeiro lugar, crie um objeto de jogo privado. Chame esse bloco ativo. Não precisamos definir nada aqui. Vamos fazer isso por casaco, e precisamos ter uma conexão com nosso bloco Tetris, que basicamente fica no bloco ativo. Então, vou nomear esse Tetris ativo. O que? Nós sabemos que queremos fazer isso. Queremos criar uma funcionalidade de reposição. Por isso, está fora do tempo vazio. Vou nomear esta reposição para pertença ativa. Então, queremos este suporte de entrada de botão mais uma vez. Como eu expliquei antes para seguir o que o bloco ativo atual vai ser. O que queremos primeiro verificar é, é claro, se há algum bloco ativo. Então, se bloco ativo não é igual a saber, queremos dizer transformar. Don't Position é igual à posição de ponto de transformação de ponto de bloqueio ativo. Então agora só precisamos ter certeza de que nós, qualquer maneira, excedemos isso e, nesse caso, vamos fazer uso. Bem, eu estou morto, então podemos chamar a reposição de bloqueio ativo em atualizações. Sempre que se
move, pousa ou vai a qualquer outro lugar. Vamos atualizá-lo de acordo. Agora só precisamos criar um excesso er para trazer em bloco ativo e Tetris ativo, então sabemos qual vai ser o bloco ativo.
28. #28 InputHolder 2: Bem-vindo de volta ao curso nesta parte. Queríamos ter certeza de que nós vamos quem realmente enviou para o bloco ativo para o nosso
suporte de entrada para fazê-lo. Vamos entrar em um bloco de tetris. Então o que podemos fazer é, por exemplo, como sempre que estamos criando um novo, podemos definir este, Toby, ativamente, realmente definido. O que nós também podemos fazer é definir isso no início significando sempre que estamos começando com um novo bloco
Tetris, nós vamos obter este bloco de propostas e trazer isso para a nossa entrada de botão. Nesse caso, nós só podemos ativar entradas de botão, que vai ser mais uma vez minhas sessões agrupadas instância filha e agora podemos realmente excessiva. Mas não temos uma função para fazer isso. Então precisamos criar isso. Vamos seguir um script de entradas de botão, vamos dar algum espaço e criamos um novo vazio, enviamos branco ativo, abrimos parênteses e também abrimos aquelas chaves. Queremos ter a certeza de que esta vai ser uma função pública. Caso contrário, não podemos excessos de Marwan Tetris bloco, agora
podemos passar é uma atualização do jogo ou ser o ato de Tetris, ou também podemos fazer barcos para fazê-lo. Nós vamos digitar em objeto de jogo blog vírgula e aqui também podemos passar no bloco Tetris . Tenho um nome, talvez não bloqueie. Então o que agora podemos fazer é enviar o bloco ativo e o bloco Tetris ativo, Toby Block e T. Então, nesse caso, para
nós mesmos, vamos nos pôr ativos. Longo é igual a bloquear e Tetris ativo vai ser igual a t Olhe, não realmente me renomear isso muito rápido porque é realmente estranho. Vou dar o nome de Tetris a esta. Então, em vez de chá branco, vou fazer Tetris. Sim, bem, isso é tudo o que precisamos fazer aqui para trazer toda essa informação. Agora só precisamos voltar ao nosso bloco Tetris. Nós queremos realmente enviar o bloco ativo. Não se esqueça de salvar o script de entrada do botão pela maneira que queremos fazer é que queremos ir e obter este jogo em particular, objeto para onde estamos indo, ou onde estamos realmente dentro e enviou isso para o nosso bloco. Então nós apenas passamos em um objeto vírgula, e agora nós só precisamos colocar no bloco Tetris. Neste caso, é isto. Não, nós enviamos fora instância para ser igual ao objeto do jogo. Este bloco está sendo executado no momento e para este script estamos tentando excesso ou queremos acessar. Quando um novo bloco vai ser criado, ele irá substituí-lo automaticamente. Vamos testar isso. Primeiro, deixe o compilador executar em unidade e ver se não temos nenhum problema. Em seguida, vamos para o suporte de entrada e arraste nossas entradas de botão aqui quando também
podemos fazer-nos, já podemos colocar em todas as nossas telas de rotação, explica que na tela gira perdeu. Então apenas dirija-os para dentro e dizendo para o movimento, tela vai pousar no movimento. Canisius. Bem, mas para o momento, nós só queremos ter certeza de que este detentor de importação está sempre seguindo estão atualmente ativo bloco Além disso, quando novos são criados, queremos substituí-los e trazê-los para O próximo. Limpe o Cônsul. Vou salvar minha cena e apertar play. Então, como você pode ver, esta entrada está agora seguindo completamente por aqui. E uma vez que ele pousa e o novo é criado, o detentor de importação está novamente acompanhando, e devemos ser capazes de clicar nesses botões. Enquanto isso, eles estão indo para baixo. Vamos precisar fazer algumas configurações para isso. Mas é isso que vamos cuidar no próximo ou em um dos próximos vídeos.
29. #29 bloqueios em movimento UI: Bem-vindo de volta ao curso nesta parte. Queremos avançar com as entradas e, por enquanto, criar a funcionalidade para todos os nossos botões de movimento. Deixe-me desativar todas as telas de rotação para que não possamos ver melhor. O que está acontecendo? Primeiro, talvez
eu queira mudar todas as cores dos botões. Eu quero fazê-los de modo que eles não são totalmente visto o tempo da parede. Então eu quero reduzir Al por um pouco, talvez para 75 ou para 75. Além disso, quando eu quiser recolhê-los como a cor prensada, eu poderia querer mudar o seu para algo leve azul. Você pode mudar isso para quaisquer suas necessidades, bem como para a duração do destino. Talvez eu vá levantá-lo um pouco também. 0.25 Agora vamos criá-lo em uma função de clique, que está tomando alguns indicadores. Então ele entende o que Mas então temos pressionado e como mover ou bloquear. Para fazer isso, abrimos um botão de guerra entradas e criamos uma nova função pública para o público movimento. Evite, mova-se, bloqueie. E uma vez que os botões diretamente e os eventos de clique só entende em float
e cordas e apenas um destes vamos fazer uso de uma string. Uma string é apenas um texto. Então eu vou dar uma direção, que eu posso comparar agora, dependendo da direção que estamos colocando, podemos agora solicitar primeiro se nosso bloco ativo não for igual a agora. Portanto, sabemos que este é um actualmente criado e é esse o caso que queremos verificar para qualquer direção. Nesse caso, nós apenas comparamos com várias coisas que você pode fazer uso de uma instrução switch ou apenas uma
declaração if realmente não importa para nós. Nesse caso, podemos dizer se a direção é igual a, digamos esquerda. Precisamos colocar isso em aspas sensibilizar uma string que queríamos comparar Quero que esta
entrada de string vai ser aqui também, precisamos colocar em dois sinais de igual para porque comparamos duas coisas. Se for esse o caso, queremos fazer alguma coisa. E o que queremos fazer é chamar o Tetris ativo, não. E agora vamos ter a função de entrada de um dos últimos vídeos. E agora podemos colocar em qualquer vetor que gostamos de trazer nosso bloco em direção. Neste caso, restam três rectos. Não se esqueça que a linha era um semi cólon. Agora também podemos copiar esta parte e fazê-lo para as outras três direções. Sim, bem, então se a direção for correta, queremos dar um vetor três. Não escreva. Se estamos dando vetores de três pontos, eu não sei, para frente. Talvez queiramos. Ou, neste caso, você também pode dar a direção para cima. Basicamente, não importa. Vamos adiantar este 12. Sim, bem, isso é importante. Isso precisa ser para a frente, porque isso está relacionado com as verdades X que excesso. E quando estamos dizendo que queremos colocá-lo de volta, então também queremos trazê-lo de volta para cá. Bem, você também pode nomear isso aqui. Bang quartzo até você. Não te esqueças do guião mais seguro. E vamos voltar à unidade. Isso é uma execução de compilador. E uma vez feito, certifique-se de selecionar todos esses itens. Seus botões ativaram o evento “on click “clicando nas plantas. Se você não vê isso, basta rolar para baixo. Então precisamos arrastar um objeto de jogo até aqui. O jogo do Jake com o qual estamos falando é o mais antigo porque contém o script com o
qual queremos conversar. Além disso, podemos selecionar a função em entradas de botão e é chamado Move. bloco era uma força. Agora podemos colocar em strings com base no que criamos dentro do script, por exemplo, para o X positivo. Este vai ser o vetor certo. Então vamos definir este para estar certo. O machado negativo, claro, será a esquerda. Então nós digitamos e deixamos aqui em Stringfield. Isto é que negativo vai ser o excesso de volta. Então vamos digitar atrás e o positivo vai ser o excesso para a frente. Então nós digitamos e avançamos. Por que mais uma vez fazemos isso? Porque nós declaramos estes aqui, então à esquerda para os fatos positivos ou negativos, direita para os atos positivos reais ah, então este é um positivo. Isso e este é um conjunto negativo. Não se esqueça de salvar. Não se esqueça de salvar sua cena aqui e vamos sair. Então, sempre que eu clicar em um desses botões, você pode ver que eu não posso fazer o movimento em uma ou outra direção com base em onde quer que isso tenha? Bastante decente. Então agora eu tenho uma boa possibilidade de trazer minhas partes em qualquer lugar no campo de jogo. É difícil ver onde estão, mas vamos tratar disso mais tarde. Mas você pode ver agora que eu sou capaz de preencher alguns fora do fundo aqui. No próximo ponto, vamos criar o mesmo material para a rotação.
30. #30 Girar a IU de bloqueios: Bem-vindo de volta ao curso nesta parte. Queremos ir e pedir o decreto, Annie para a funcionalidade para todos os botões de rotação. No total, temos sexo para fazer. Então vamos para um botão quer entradas e criar uma nova função para fazer a rotação. Tem de ser público. Caso contrário, nossos botões não poderão acessá-lo. Como fizemos com o bloco de movimento, vamos nomear isto, talvez girar bloco. E, claro, vamos fazer a mesma coisa aqui. Colocamos uma corda e nomeamos, talvez rotação. Agora, mais uma vez
precisamos comparar se pudermos fazer a rotação. Mas antes de fazermos isso eu quero ter certeza de que nós realmente temos um bloco ativo. Então, se bloco ativo não é igual a saber, então sabemos que temos um que podemos acessar, e então podemos ir em frente. Vamos começar com a rotação do ex. Você sempre pode entrar em comandos do fazer em qualquer lugar, onde quiser. Você não tem que fazer como eu faço,
no entanto, no entanto, você entende o melhor. Então o que queremos fazer é se a nossa rotação, vamos colocar aqui na cadeia de rotação igual a, digamos, X
positivo porque nós nomeamos nossos botões já positivos X. Talvez
queiramos Ah, fazê-lo assim. Então nós entendemos. Talvez ainda melhor se ainda não o fizeste. O que queremos fazer é, sempre que fazemos a exploração, queremos falar com o Tetris ativo e definir a entrada de rotação aqui. E agora podemos colocar em qualquer vetor mais uma vez qualquer vetor de rotação em 90 graus, como já criamos de antemão para qualquer direção que quisermos. Por exemplo, criamos um novo vetor três parênteses fechadas abertas, zero
vírgula, zero vírgula zero porque é isso que precisamos preencher. Mas agora vemos novamente, estamos na posição X. Então precisamos pegar o vetor X e trazer um 90, por exemplo. Então, quando estamos pressionando o fundo correspondente, que retorna ou realmente tem a rotação de cordas que vai fazer, eles não estão na rotação de 90 graus quando pode. Então, quando não será realmente fora do grão, já que também temos uma direção negativa, vamos copiar este. Renomeie isso para N E. G X para X negativo e dê um menos 90 aqui. Não se esqueça de salvar e fazer as mesmas coisas para os Emirados Árabes Unidos termina acesso Azad também. Então eu vou renomear isso aqui rotação do dedo do pé. Vamos dar um nome positivo: “Por quê?” E negativo. Por quê? E nesse caso, vamos rebocar,
mantê-los em 00 e aqui, já que é um motivo positivo, vamos adicionar 90 e aqui, 90
negativo porque é a rotação negativa. Mais uma vez, colem essas coisas, vamos falar sobre aqueles que rodam. Então, se positivos, isso vai nos dar aqui zero aqui mais 90 um negativo que vai
nos dar mais uma vez Excelente. Zero. E aqui, vamos colocar um 90 negativo. Não se esqueça de salvar, e isso é tudo para o script de importação. E agora só precisamos aplicar todos os nossos botões ao script. Deixe o compilador executar o produto rapidamente clicando dentro da janela de unidade Mais uma vez, você sempre pode ver se está sendo executado na parte inferior. Neste momento, desativamos a tela de movimento por um momento. Vou ativar a tela X de rotação primeiro. Talvez eu já vá fazer as mudanças no botão da CIA também. Como se eu fosse com Alfa para 74 ou 75 e talvez fosse fazer algum Cullerton para a cor da imprensa. Algo assim. Também leva outras cores mais tarde, podemos ir para Kobe, todas
elas. Talvez seja um brinquedo melhor agora. Vamos fazer o outro C também ao mesmo tempo. Então eu não tenho nenhuma diferença muito rápido. Então, mais uma vez, eu seleciono todos os botões. Segure em. Dedo de controle único. Selecione-os. Certifique-se de que você disse todas as cores aqui para 75. Você sempre pode ver isso na exibição da cena, bem como na exibição do jogo e no realçado. Ou, neste caso, a cor pressionada pode estar em algum lugar por aqui. Você sempre pode testar isso sempre que você pressionar play em que agora dá todas as mesmas cores para eles. Eu mais uma vez desativar a tela de movimento e voltar para os outros em selecionar todos os botões e no evento clique novamente, arraste no suporte do item, Selecione a função, gire o bloco com força. Então nós já os chamamos de Xnegativo. Então vamos ter que verificar isso no Xnegativo e no ex positivo. Então, para agressão, este deve ser o X negativo. Então eu nomeei este um ato N e G. Este aqui deve ser pos X. Então, para os atos positivos, mesmo para os outros. Mais uma vez, precisamos verificar isso de qualquer maneira, então esta deve ser a pausa. Por quê? Certifica-te de que tens razão. Este 100% correto Este vai ser o pescoço y e E. G. Por quê? Isto vai ser o e e. G. É isso E este deve ser o pos é que certifique-se de todos os nossos correta e pressione play e ver o que está acontecendo. Primeiro, quero verificar isto. Esta rotação agora no valor X está indo para o trabalho do dedo do pé. Correto. Vamos ver o próximo. O próximo não reage apenas Rex do outro lado, mas classifica corretamente. Vamos falar sobre isso em um segundo. Vou reiniciar bem rápido para verificar os outros também. Então, agora queremos trazê-lo para a esquerda. Não reage. Então eu preciso fazer isso do outro lado, e parece ser a direção correta. Então, o mais baixo, este não pode ser realmente girado. Bem
, pode. Mas vamos testar de novo. Estas direcções parecem estar correctas. Certo, e finalmente vamos fazer a verificação da rotação Y. Então nós queremos ter certeza de girar isso sobre o porquê É difícil ver nestes botões porque nós não sabemos se essa é a direção correta real. Então nós podemos ir e bem, este poderia até mesmo que parece correto. Ah, este ainda pode ser melhor visto. Isto parece um correto aqui. Então, para o outro lado, isso parece totalmente correto. OK, então se você tem isso, então nós somos capazes de fazer todas as entradas agora. E nós somos capazes de ah, colocar um pouco no chão e preencher camadas e coisas assim.
31. #31 2 botões de margem: Bem-vindo de volta ao curso nesta parte. Quero consertar todos os botões. Como você viu, Você só pode acessá-los a partir de um site específico. Uma vez que os rodamos várias vezes, você pode não ser capaz de clicar neles para corrigir esses botões. Precisamos selecionar todas essas telas onde nossos botões estão deitados como você pode ver na chuva. Gráfico direito, Elenco um roteiro. Existem algumas configurações. Se você abrir este um pouco mais, você pode ver ignorar gráficos invertidos. Queremos desativar isso porque você quer acessar nossos botões a partir de qualquer rotação. Então, quando esse caso, agora
somos capazes de selecionar os botões de qualquer posição no jogo, vamos testá-lo. Então eu vou acessar essa formiga a partir da mesma aqui. Daqui, daqui e com o outro completamente também, isso é bom. E agora podemos cuidar fora do livro, construindo algumas camadas e nos livrando delas sempre que tivermos uma camada completa
32. #32 entradas de comutação: Bem-vindo de volta ao curso nesta parte. Vamos fazer ainda mais na nossa entrada de botão. A questão é que não podemos ter. Todos esses são turnos, todos esses botões ativos ao mesmo tempo, só
podemos ter movimento ou rotação ativado. Então, o que isso significa? Bem, na verdade, podemos continuar, mas você precisa nos dar ou você precisa criar seus próprios desenhos
diferentes. Então o jogador realmente é capaz de ativar ou selecionar todos os botões correspondentes para isso Para evitar isso, podemos criar um pequeno interruptor de botão, que pode realmente indicar se estamos fazendo apenas rotação ou apenas movimento para fazê-lo. Precisamos criar esse grupo primeiro ou realmente uma função para isso. Vou trazer isso para baixo em nossas entradas de botão. O que eu quero ter certeza é que é uma função pública do tipo vazio. Uma vez mais, não
devolvemos nada e eles vão nomear este interruptor de entrada aqui. Temos de ter a certeza de quem está a entrar e quem está a sair em que momento específico devemos fazer para que possamos criar um pequeno touro para nos ajudar. Então este touro ou touro é talvez chamado Move está ligado. Isso significa que sempre que se move, tudo o resto deve ser desligado. Então eu vou definir este para ser igual a verdadeiro no início. Sempre que agora chamamos de entrada switch, queremos mudar. Mova-se. A maneira mais fácil é chamarmos movimentos é igual dedo do pé, não segue em frente. Nesse caso, nós apenas trocamos da força o verdadeiro ou o verdadeiro para a força, dependendo do que quer que
seja, sempre será o oposto por causa do ponto de exclamação. Então, seja lá qual for o movimento, é agora. Na verdade, disse Teoh, nós podemos fazer o nosso movimento Canvas não definir Toby ativo igual a qualquer movimento é na ISS assim como oposto. Também precisamos desativar ou rodar Candice. Então, para cada um desses parênteses, objeto de
jogo, eu apenas nomeá-lo. Veja para tela em rotação pode Este é e tios Conley chaves. Nós apenas dizemos, veja, não ative Toby. Tudo o que não se mover está na ISS. Então nós apenas olhamos através de todos eles e os desativamos sempre que movemos telas. Agora só precisamos ter um botão que possa realmente cuidar dos interruptores. Volte para o clique da unidade. É deixar o compilador executar muito rápido, e agora podemos criar um botão para isso em uma tela extra. Então vá para uma hierarquia. Não selecione nada, clique com o botão
direito do mouse por quê? E vamos criar uma nova tela. A propósito, se qualquer botão não for aplicável, certifique-se de que o sistema de eventos está no seu assento. Se você tem uma nova tela aqui, queremos mudar esta de exercício constante para dimensionar o tamanho da tela. Caso contrário, teremos colocado em problemas. Quando se trata de dimensionamento nesta tela. Eu quero criar um novo botão, e este vai ser meu, digamos, switch. Você pode projetar e criar e torná-lo onde quiser. Eu vou colocá-lo no canto inferior esquerdo para mudar mais tarde no meu fosso para mudar que vamos no início eu preciso ir em re tamanho que talvez 75 por 75. Eu posso ir para rebaixar de um ano Groll out Muito alguns fizeram até eu ver a Candace completa e eu novamente apenas reposicioná-lo para onde eu quiser. Você também pode ancorar isso mantendo pressionada a tecla antiga e selecionar a âncora inferior esquerda e arrastá-la para longe de lá apenas um pouco. Assim, sempre estará ancorado no canto inferior esquerdo. Não importa que tipo de tamanho de tela você vai ter colocado, nós também podemos, por enquanto, colocar em algum texto algo como switch. Também podemos fazer uma imagem mais tarde, onde também estamos mudando isso um pouco. Posso de acordo com o que quer que tenha sido antes. Agora só precisamos nos conectar. Nosso interruptor foi um clique de botão para o nosso suporte de entrada. Então nós apenas selecionar as plantas de um ano, rebocar seu vizinho no clique Dragon Input titular, ir para entradas de botão e ir para alternar entradas. Então, sempre que estivermos agora a clicar nisso, vamos trocar as entradas. Vamos testá-lo como novamente ver, atualmente tudo está ativo. Mas quando eu troco, ele começa a fazer o interruptor. Então, nesse caso, precisamos ter certeza de que nossa tela de movimento no início vai ser o que tem que ser mesmo para os outros campi de rotação. Também podemos fazer isso acordados, então basicamente não importa. Vamos fazer isso e começar. Porque apenas para evitar quaisquer problemas que possamos encontrar e começar, podemos chamar uma função extra para simplesmente arquivar um processo um pouco. Então, basicamente, nós poderíamos fazer o mesmo que fazemos e trocar entradas, mas nós não mudar a entrada real. Então o que podemos fazer é definir as entradas. Vou copiar esta parte completa aqui, nomear este conjunto de entradas. E o que eu sei que posso fazer é me livrar dessa função ou desse cheque de touro ou um interruptor de touro. Então, e começar podemos chamar entradas set. Não precisa ser público, é apenas um ponto de tempo e então aqui podemos nos livrar disso. Mas quando fazemos este tanque de touro, queremos definir as entradas depois assim. Além disso, não
podemos usar a mesma funcionalidade e trazer isso para a mensagem inicial. Então vamos enviar para as entradas. Mas não fazemos o switch como fazemos nas entradas do switch. Não se esqueça de salvar, e quando começarmos agora, vamos definir o movimento automaticamente para estar ativo e quando trocarmos, teremos que girar no ativo. Então agora eu posso alternar entre esses modos.
33. Botão de aceleração #33: Bem-vindos de volta ao curso. Neste ponto, eu quero criar outro botão que está nos dando a possibilidade de acelerar nossos blocos para baixo e duas coisas que só precisamos levar em consideração. Primeiro, vamos precisar abrir nossas entradas de botão e criar uma funcionalidade para isso. Primeiro, precisa
ser provavelmente um ponto de tempo. Caso contrário, não
podemos excessos de um botão. Podemos nomear algo como definir alta velocidade. E só precisamos ter certeza de que acessamos nossa velocidade de bloqueio Tetris como Agencia. Mais tempo integral é quase batido, que vai ser o tempo de força forçado para baixo uma vez por segundo. Se você quiser mudar isso, nós podemos realmente entrar e criar uma função extra para excesso isso para fazer então nós vamos criar outro Boyd público e nós temos o nome, este algo como velocidade definida. Não precisamos de discussões aqui. Só precisamos chamar essa função. Então o que você quer fazer é que não queremos pedir o excesso em tempo integral para ser uma prisão igual. Um pequeno número 0.21 foi, ou talvez 01 que irá certificar-se de que cada vez no tenso fora do segundo o bloco vai
cair até que ele chegue ao chão. Se isso é muito pequeno ou muito grande, você pode alterar esses valores, qualquer que e sempre que você precisar, não se esqueça de bloquear tendrils seguro e voltar para a entrada de botões. E aqui nós só queremos ter certeza de que estamos chamando o bloco Tetris ou, neste caso, Tetris
ativo não definir velocidade e é isso. O que precisamos fazer agora só precisamos criar um botão para definir a alta velocidade de. Nós podemos realmente tomar este um botão switch e duplicado Deixe o compilador executar antes de você fazer qualquer outra coisa. Caso contrário, ele não permitirá duplicar isso e trazer isso para onde você gostou, por exemplo, acima dele. Ou talvez goste de ver isto do outro lado da vista do jogo. Então você também pode ir aqui tornozelo Isso faz um canto inferior direito e arrastá-lo até que ele se adapte
às suas necessidades. Talvez algo assim. Agora você também pode alterar o texto ou apenas se livrar do texto é completamente até você. Você pode fazer algo como acelerar ou acelerar. Ou se você vai colocar em qualquer imagem, por exemplo, isso funciona 1% também. Por enquanto, podemos acelerar. E nesse caso, eu não vou fazer Ah, você eu imagino e trago isso aqui. Vou segurar como uma tecla Shift e reduzi-lo um pouco. Talvez você leve isso para lá. Você também pode pegar o texto e talvez trazer isso aqui. Então é na garrafa no topo e na imagem pequena, eu posso trazer uma das minhas flechas, por exemplo. Este eu posso amarrar para qualquer cor. Talvez preto e eu também possa ir e girar 90 graus. Se você não gosta de preto, é
claro, pegue qualquer outro. Então agora só precisamos ter certeza de que estamos nomeando este para ser acelerar ou acelerar basicamente importa. Ir para este interruptor, entradas botão de entrada e ir para definir alta velocidade e alguns agiu. Então, sempre que pressionamos Play now e clicamos neste botão, os botões ou os pequenos blocos cairão mais rápido. Mais uma vez, você pode fazer qualquer coisa. Foi esse botão e foi a velocidade No entanto você gosta Teoh
34. #34 a verificação de camada completa: Bem-vindos de volta ao curso. Esta parte que queremos começar a trabalhar em como podemos um excluir camadas reais sempre que houve queda
havia blocos. Então, para fazer isso. Claro, precisamos verificar nossa grade se há algo dentro ou mesmo se tudo em uma
altura específica nos Emirados Árabes Unidos, o acesso está completamente cheio. Para fazer isso, precisamos criar várias funções no lado nosso jogador sentir ou script playfield. Então abra seu campo de jogo e aqui e na primeira, Lauren, qualquer linha que vamos criar e funcionar que podemos exceder do nosso bloco Tetris. Nesse caso, é um vazio público e vou nomear essa camada de exclusão. Na verdade, isso não exclui diretamente a camada. Mas é o nosso acesso um ponto mais uma vez a partir do bloco Tetris, você deve se lembrar em nosso loop de atualização, onde quer que
estejamos caindo aqui, também temos um comando já que diz excluir a camada de possível. Então, se nós temos ou vamos salvar o jogador ou campo de jogo no momento e ir para lá, podemos apenas dizer playfield, não excluir camada. Mas temos que ligar para o incenso primeiro, então, por exemplo, o jogador principal. Não se esqueça de salvar Tetris script ou Tetris Block e voltar para o campo de jogo. Agora vamos precisar atacar a inteligência. Astle, lá, nós queremos verificar para fazer isso. Vamos percorrer tudo. Por quê? Bem, use aqui. Então eu nomeei o fim. Por que é igual a zero? E o nosso Max vai ter um tamanho de grupo. Por quê? Então, por que é menor do que o nosso tamanho máximo? Vamos passar por todos os sábios agora? Primeiro, tenho que fazer alguns comandos. Precisamos verificar cada camada em que estamos atualmente. Então eu vou criar uma nova função para essa camada completa de verificação. Então vamos ter outro que vai servir,
se for esse o caso, queremos seguir a liderança alguns quarteirões e finalmente queremos mover ou descer por um. Então isto é o que vamos fazer a partir da nossa função delete layer. Primeiro, vamos pegar a camada completa para verificar isso mais uma vez. Nós só pensamos que eu sou o que nós apenas tomamos por que como um indicador e loops reage e que se ele retornar verdadeiro, então é claro que nós vamos ter ah, camada
completa Se ele retornar falso, então nós não temos isso. E não continuamos neste eixo. É oração. Então, nesse caso, criamos um touro deste touro, mais uma vez, só nos devolvemos verdadeiro ou falso. Então vamos nomear esse cheque de camada completa. Vamos precisar de um indicador de um número inteiro. E eu chamo isso por quê? Porque os outros quando nós realmente precisamos colocar dentro Então o que fazemos é chamar Jack camada completa daqui com o correto ou a corrente. Por que você vai? É aí que a passaremos. Aqui e agora. Nós olhamos através de acidente definido tão int x e enquanto e age um menor do que o nosso machado tamanho de grade , vamos para a próxima situação forças que o valor tão em que tamanho de grão que então nós
olhamos através disso como indicadores para o correto tamanho. Agora nós verificamos a grão se a grão, X vírgula, por que vírgulas em não é igual. Então não, ou neste caso, podemos dizer que é igual saber. Então, se nada está dentro, queremos retornar a força porque esta não é uma camada completa. Se não passarmos neste teste ou se passarmos esta tarefa completamente no final, queremos ter certeza de que retornará. Jogue porque isso significa que sempre que passamos neste teste para esta camada em particular que estamos fazendo loop, então sabemos que podemos reduzir o caracol. Agora. Nós só precisamos ir para a camada de exclusão, função mais uma vez e verificar a camada completa de inicialização real. Por isso pedimos. Se abrir parênteses de fechamento, verifique a camada completa. Então, se isso voltar frequentemente perto, Prentice está por trás disso. Uma vez que é chamado como uma função, então nós queremos fazer a exclusão. Digite azul mover coisas bloco dentro ou um não tomadores. Claro, precisamos colocar em por que, como argumento, caso contrário, verificar camada completa não sabe qual camada ele tem que verificar no momento.
35. #35 de excluindo blocos de camada: Bem-vindo de volta ao curso nesta parte. Queremos continuar trabalhando nossa função delete layer. Isso é abrir nosso roteiro de campo de jogo. Onde nós realmente já atacamos em camadas completas, como dentro da função delete layer que sabemos que queremos criar é o lead. Os blocos, como todos os blocos na camada. Para fazer isso, criamos uma nova função para aquilo que está nos ajudando a olhar através de tudo com base
na entrada y novamente. Então eu vou precisar nomear isso, é
claro. Talvez excluir camada em. E a resposta significa apenas no Inter. Gia. Seja qual for a camada, vamos passar em mais de um ano. Isso nos dará a possibilidade de excluir apenas tudo o que está atualmente ligado. Por que não precisamos fazer é claro, precisamos perder através do sotaque que e leva a coordenada Y fora do curso e consideração com base na entrada ou no argumento Bem, aqui para fazê-lo. Mais uma vez, criamos quatro loops, dois aninhados para loops, toque
duas vezes mais uma vez. Grande tamanho X será a nossa indicação máxima aqui. Então nós digitamos para novamente toque duplo para o que vai representar um tamanho Margaret Zad aqui. E no final, queremos ter certeza de que destruímos objetos e esses objetos estão sentados na grade entre
colchetes X Vamos. Por que vírgulas isso? E agora precisamos de um put após o segundo quando precisamos dizer, Não jogue, objeto e feche a linha. Isto estava no meu casaco? Uma vez que tenhamos excluído o objeto do jogo principal, precisamos redefinir a célula, que perguntamos Lee Freed, Onde está o objeto do jogo real? Nesse caso, vamos dizer zig grão em colchetes X vírgula Wycombe Um conjunto é igual saber. Então ele está vazio mais uma vez sobre o que pode ser recarregado em tudo. Nós apenas chamar esta função delete camada em porquê, e não se esqueça de salvar o script.
36. #36 a remover a camada Move para baixo: Bem-vindo de volta ao curso nesta parte. Queremos ter certeza de que criamos a funcionalidade para mover toda a camada para baixo. Sempre que tivermos criado uma camada completa, abra seu player ou aplicar script de campo, e podemos colocar a soma aqui como onde as camadas de exclusão em. Precisamos colocar isso em nossa função deletar, que vamos chamar mais tarde. Sempre que terminarmos de colocar um dos nossos blocos Tetris reais, vamos criar duas funções que estão cuidando de todas essas coisas. Primeiro, queremos chamar uma função. Que é ler através de todos os sábios, como no porquê Indicadores. Então, nesse caso, vai ser um vazio. Mover ou camada não fazer algo assim. E como indicador, vamos tomar a Inter gen y mais uma vez. Então, vamos ter que passar a partir desta posição,
basicamente, então, onde quer que
estejamos, vamos começar neste ponto, não
precisamos passar por tudo o que só queremos ter certeza de que sempre que tivermos um camada, vamos começar com isso como um indicador para fazer isso. Vamos precisar criar uma queda e ver o resto fora do existente. Por que Nair vai fazer isso? Criamos um loop for que começamos em Joe. Eu estamos por agora, nomeá-lo ou tamanho grão. Por quê? Aqui e o máximo. Mas agora precisamos fazer algo especial. Em vez de começar em zero aqui como zero I como um argumento, vamos começar em Por que então o porquê que está vindo aqui, que vamos passar por cima e agora criamos uma segunda função que está fazendo todo esse movimento para baixo uma vez por nós. Então eu vou criar isso bem rápido primeiro. Então é outro movimento branco, uma camada para baixo. E, claro, como indicador, vamos adiar uma Inter Gia. Por quê? Mais uma vez aqui. Então, o que vamos fazer ao longo de anos nós loops Rex e que mais uma vez e fazer esta camada sábia com base nisso, por que nós vamos passar daqui? Para fazer isso, criamos mais uma vez um loop completo com o indicador X e seu grande tamanho x como um máximo. mesmo para o valor como um grupo tamanho Zandt como máximo aqui. Então agora vamos ter que atualizar nossa grade. Primeiro, precisamos verificar se é Não. Então, se a grade em registros quadrados X vírgula Wycombe um conjunto não é igual a saber. Caso contrário, teremos uma estreita como outra exceção de referência foi algo Simula, Se for esse o caso, assim é algo neste ponto particular, queremos movê-lo para baixo. Então, primeiro, precisamos atualizar o grão. Nesse caso, vamos pegar o porquê e negar isso por um e começar lá para copiá-lo para a próxima camada . Então vamos dizer X vírgula. Por que vírgulas isso? Mas por que neste caso precisa ser mais uma vez negado por um. E então dissemos que isso seria igual ao grão atual. Basicamente. Então, X vírgula, por que veio? É assim? Podemos ser tudo nesta posição. Dois no fechado não vão comprar uma posição. Então deixamos cair no Morts. Então temos de nos certificar de que anulamos isto agora. Então dizemos que a grade e colchetes X vírgula Wycombe Azad é igual a saber. Então esvaziamos esse ponto e, claro, precisamos atualizar a posição agora fora da grade do eixo ou das peças que estão dentro dos grãos. Um relatório. Reposicionamos os objetos de jogo reais com base na transformação. Então eles dizem que a grade X vírgula y com Azad precisamos mais uma vez joelho Gade. Por quê? Por menos um e nós dissemos suas posições. Mais uma vez, temos transformações. Comece dentro de todos os cubos pequenos e adicionamos vetores. Três. Não descer para a posição atual para baixo mais uma vez representa um ou menos um. Neste caso, em um negativo, você também poderia dizer em negar por vetores, leitor acima basicamente não importa assim e, finalmente, nós apenas chamar mover um dia ele para baixo. Então, quaisquer que sejam os índices atuais a partir daqui do nosso movimento todos camada para baixo. Então, nesse caso, dizemos mover um dia para fora, camada para baixo por indicador Essendon Next. Agora nós só precisamos ter certeza de que chamamos mover ou camada para baixo assistenciado sobre excluir a
função camada . Então mova toda a camada para baixo, abra parênteses
fechadas, e colocamos o porquê como coordenar. Não se esqueça de dizer que é um script, e agora estamos basicamente feitos com a verificação da camada ou a camada D tardia
37. #37 Apagar correções de camada: Bem-vindos de volta ao curso nos últimos portos. Na verdade, estávamos criando a funcionalidade de exclusão da camada nesta parte. Quero ter certeza de que tudo isso funciona. Então, para simplificar o processo, podemos ir para o PIF para o campo de jogo, e vamos nos livrar de alguns desses blocos e apenas manter o nosso bloqueio. Eu vou reduzir o tamanho dos elementos para ser um na lista de bloqueio, ir para pré fabs e dragar o bloco velho aqui. Uma vez que não podemos realmente Fillol estes blocos eram blocos antigos. Precisamos de uma reduzir o tamanho do campo de jogo e se livrar do bloco t primeiro. Então eu vou me livrar do tee blanc, trazer um bloco velho. Vou para a 3ª Vista, para não poder ver as coisas. Melhor clicar duas vezes nele ou quando eu clicar duas vezes nele. Eu posso como zoom in e eu trazer isso sobre o meu campo de jogo encaixado e na posição correta. E traga este slide um pouco aqui para que ele possa cair. Nós também podemos deixá-lo cair já e um desses cantos basicamente não importa. Só queremos ficar seguros ou verificar se tudo funciona. Além disso, desde o meu jogo, oração pode não caber todos esses blocos porque há cinco em vez de quatro antes de podermos aumentar o brincalhão por um segundo para ser um quatro por quatro. Então, vamos atrás de Blakefield e mudamos para quatro por quatro. Então tenha um pouco de campo de jogo e ainda tudo deve funcionar. Agora, quando pressionamos play e só temos, oh, blocos para baixo da lista, só
precisamos movê-los e podemos ver se somos capazes de levar a chumbo ou as camadas. Vou esperar até que tudo esteja aqui em baixo. Você pode fora do curso ir para a velocidade acima daqui foi a nossa velocidade um botão acelerado e boom , como você viu, todas essas duas camadas completamente foi apagado do ponto fora realmente delicioso. Então, agora sabemos que nossas camadas serão apagadas corretamente, e tudo o resto está caindo, que não é correto ou realmente não cumprido. Mais uma vez, você pode fazer vários testes diferentes. Por exemplo, podemos acelerar um pouco isso. Eu posso trazer para o topo. Assim, vemos que apenas estes que estão sendo deixados no último momento ainda vão
existir dentro do nosso jogo. Vou acelerar isto. Estes foram deixados cair, mas este não caiu. No geral, eu só notei que eu tenho um pequeno tipo aqui em dois ou dentro de um movimento. Toda camada para baixo função quando eu faço atualmente é I tanque. Por que, como um indicador para mover a camada para baixo, mas atualmente estamos fazendo loop através de I Então é importante que vamos passar em I em vez do porquê. Então isso se encaixaria no problema de que as gotas não estão funcionando corretamente para fazer o teste. Mais uma vez, podemos abrir óleo, apenas ir no modo de jogo , derrubar tudo, colocando vários um no outro para que possamos ver que isso vai ser 1% Lee trabalhando para o último. E agora nem sequer a traz embora. Uma vez que nem todas as camadas vão ser afetadas. Sempre que começamos de baixo e ir até o topo, em seguida, e vamos excluir uma
dessas camadas e as outras estão aparecendo para baixo do que a camada mais baixa não vai ser verificada novamente. Para evitar isso, vamos ter que fazer uma reversa para Luke Check. O que significa é que vamos começar no topo do campo de jogo e ir para baixo a partir daí. Sempre que encontrarmos um vazio, vamos atualizá-los, mover tudo para baixo e seguir em frente até chegarmos ao chão. Isso evitará isso. Temos um problema de que todas essas camadas serão ignoradas. Nesse caso, levamos esse zero aqui e perguntamos por quê? Para ser igual ao tamanho da grade neste caso. Por quê? E aqui só precisamos ter certeza que isso significa o porquê. Por que big o é igual a zero? Então precisamos do portal. Por quê? Férias dentro do teatro? Precisamos reduzir o tamanho do grão. Por quê? Por um. Então eu vou fazer isso já. Então, vamos dizer mais uma vez neste deletar mentir uma função que estamos chamando para a mamãe. Bloco Tetris. Nós vamos de baixo, temos não ir de baixo para cima, mas vamos de cima para baixo. Enviamos por que para esta verificação de tamanho até que ele está atingindo a área zero como a camada inferior. E antes que isso aconteça, temos sido usados por quê? Então vamos mais uma vez, verrugas
para trás. Não te esqueças de dizer o guião e isso é teste outra vez. Isso não deve saber mais uma vez começou a verificar cada camada a partir do topo. Como por aqui. Reduzimos em um porque o tamanho total do aqui pode não corresponder à nossa grade de eixo, que não vai crescer, na verdade se encaixa no nosso grupo porque o grande é um menor do que a nossa grande altura. Então, nesse caso, começamos aqui e verificamos através de qualquer camada. Vamos supor que este tem uma camada completa aqui. O que vai acontecer é que alguma vez ver um lustre vai ser atualizado como se estivesse indo para baixo. E então, uma vez que já estamos aqui, nós sabemos verificar isso de outra forma ao nosso redor. Sempre que estamos começando no fundo e esta camada inferior está cheia, então deixamos tudo para baixo. Mas já verificamos essa camada, e começamos a ir na próxima camada. Este, mesmo que também esteja cheio, seria ignorado como tem sido antes. Não se esqueça de salvar tudo, e isso é teste de novo, então eu trago tudo isso para baixo e vou tentar fazer um olhar para
aqui ambos para que você também pode colocar ainda mais acima do que ela gostou. Eles não vão sair e quatro cheios. A camada inferior, está nas duas camadas inferiores. Então, uma vez que isso vai acontecer, ambos os trabalhos garantidos devem cair. E só devemos deixar este aqui mais uma vez. Isso ocorre porque, caso contrário, na camada inferior seria ignorada porque já foi verificada antes. Então é por isso que vamos e começamos a partir da verificação superior a partir do topo e, em seguida, moveu-se para baixo a partir desse ponto. Então, não vamos ignorar a camada inferior mais. Esse é o truque. Você Nós podemos fazer uso fora aqui para excluir ou real camadas encontradas sem quaisquer problemas.
38. #38 Bloco de início aleatória: Bem-vindo de volta ao curso nesta parte. Quero voltar onde realmente começamos no sentido. Quero fazer uma limpeza. E eu quero que Teoh dê o primeiro bloco automaticamente também. Portanto, não precisamos necessariamente ser ou temos que ter um já no início para fazê-lo. E primeiro tenho que me livrar disso. Block. Além disso, volto ao meu campo de jogo e mudo o tamanho 2585 Então temos um pouco mais de espaço , também no campo de jogo. Eu quero adicionar todos os outros blocos novamente também. Então eu peguei Faça isso uma lista de bloqueio tamanho zero. Quero ter certeza de que vou bloquear a seleção. E o inspetor era um pequeno símbolo de fechadura. Selecione todos os meus blocos aqui e arrastá-los para a lista de bloqueios. Então todo mundo está de volta de onde veio. Agora você pode se livrar do símbolo de bloqueio novamente. E assim, já estamos onde quer que tenhamos começado. Agora, quando queremos fazer é que irá automatizar o primeiro ou randomizar o primeiro cara
já . Para fazer isso, vamos ter que abrir no Playfield e entrar em uma mensagem de início do West. E aqui, depois que terminarmos com a inicialização do grão, queremos gerar um novo objeto ou novo bloco. Então chamamos Spawn de seu bloco. E isso é tudo o que precisamos para automatizar o 1º 1 que está fora do curso no momento, completamente aleatorizado. E sempre que estamos começando o jogo agora, devemos gerar o primeiro bloco. E como você pode ver, apenas
levou qualquer um desses blocos foram capazes de colocá-los onde quisermos. E, claro, o jogo está correndo repetidamente até que estejamos perdendo. Ainda não perdemos, mas isso é parte de outro vídeo mais tarde.
39. Prefabs de #39 Bloqueios de fantasma: bem-vindo de volta ao curso nas próximas partes. Quero criar blocos fantasmas. Esses blocos de gols são apenas uma representação fora de onde nosso olhar ativo real vai
pousar para que o jogador possa ver isso facilmente e onde seu bloco vai pousar, em que direção, rotação e coisas assim vai acontecer. E se ele está acertando o lugar certo, ele quer entrar para fazer isso. A primeira coisa que quero fazer é criar um novo material para o nosso material fantasma. Você pode chamá-lo de material fantasma ou apenas dizer o que você quiser. E tipo, talvez eu só dê o nome do meu fantasma. Quero dar-lhe uma cor especial. Talvez algo laranjas, ou qualquer cor que se adapte ao seu eixo, talvez algo que não tenhamos no momento. Além disso, eu quero ter certeza de que este será um modo de renderização transparente. Você pode escolher entre todas as alterações padrão ou qualquer outro Seder que você preferir. E o que você quer fazer é ir para o Canal Alfa fora disso e reduzir sua luz um pouco? Talvez, dedo do pé, hum, talvez seja 50% de algo cerca de 230, talvez mais, talvez menos. Depende mais tarde do quão bem vemos as coisas. Além disso, você pode brincar com toda a outra pia do seu vazamento. Não precisa gostar. Então, o que vamos fazer com este material, talvez eu dê um pouco mais de suavidade aqui. Então é um pouco mais brilhante, no entanto, foi aquele pouco material que vamos criar nossos blocos de objetivos agora. Estes blocos de meninas também são pré-fabricadas. Então, basicamente, precisamos duplicar todos esses blocos e torná-los blocos fantasmas para que você possa selecioná-los todos e apertar o controle D. Vai levar algum tempo até que todos eles copiados corretamente. Agora o que você quer fazer é que esses copiados atualmente para mim eles são selecionados para todos eles têm um por trás deles. Quero arrastá-lo para a minha lista de ou para a minha cena. Mas eu também quero fazer é eu quero realmente abrir todos estes e dar-lhes o
material fantasma . Eu quero selecionar todos os cubos primeiro. Se você não gosta dos processos, eu faço isso como selecioná-los obter tudo que você também pode digitar o nome fora do que o
problema do objeto quer selecionar aqui como você pode digitá-lo ali na pesquisa e apenas digitar Cuba, por exemplo. E todos os cubos serão destacados que estão representados atualmente A cena para que você possa selecionar que mais fácil. Vou te dar como eu posso ou aqui você pode fazer isso. Você apenas digita e cubo e eu posso ver todos os cubos atualmente estão visíveis e destacados. E agora você pode apenas selecionar o primeiro eo último, mantendo pressionada a mudança e todos os cubos em Também gostei mais uma vez tudo até você No entanto você quer gerenciar triste. O que eu quero fazer é pegar o material fantasma agora e arrastar isso para o inspetor. Então todos estes não são materiais fantasmas que eu posso ver sempre que você se livrar da busca, tudo é colorido corretamente novamente. Se você mais uma vez de qualquer maneira não gosta da cor E como ela se parece e assim por diante? É uma força. Você sempre pode brincar com configurações diferentes, materiais
diferentes. Talvez você também possa destacar isso ainda mais. Mas uma vez que estes são um pouco planos, senhor rostos, os reflexos não são muito bons lá, se você quiser. Estas reflexões também depende totalmente de você. Você pode até torná-los um pouco mais chatos aqui de novo. Livre-se completamente da suavidade. Você pode fazer o que quiser e gostar, mas não vá com metal nous. Isso não faz sentido por aqui. Mais uma vez, você quer fazer com que os jogadores vejam o zumbido fácil onde essas coisas estão indo para pousar , como onde todos esses blocos estão indo para pousar. Então é aí que o conselho de cores lugar. Se você não gosta de um roxo ou você não gosta de laranja, você pode fazer uso de qualquer outra cor, que é boa ou boa vista e provavelmente não é uma cor que você já gosta, se você iria com uma tão azul aqui, então você pode querer pegar este azul e torná-lo um pouco mais escuro. Então, ah, o jogador não sabe como se confundir com essas cores. Então, mais uma vez, tudo isso depende de você. Você pode configurar isso do jeito que quiser, pode torná-lo ainda mais transparente. Também depende do tipo de cor de fundo que você tem e assim por diante e assim força manter tudo isso completamente em mente. Agora, já que terminamos com todos esses fantasmas, precisamos atualizar esses pré fabs. De acordo Teoh versões mais recentes, como em dois K 19. Você precisa abrir estas e aplicar as alterações como, substituindo eu ouço em Unity 18 ou K 18 Eu só preciso ir e clicar no botão Aplicar ali para aplicar todas as alterações que eu fiz a isso Uma vez que eu apliquei tudo como a mudança material em Eu posso realmente excluí-los em meus prefeitos se eu vou ter todos estes. Então você pode mais uma vez vir aqui se você gosta de Teoh e renomeá-los de acordo dentro, aqui ou aqui E o inspetor basicamente não importa. O inspetor não se importa com isso onde precisamos atualizar esta noite. Bem
, não. Por isso, é totalmente importante que você faça a mudança diretamente no prefab então porque o nome do
prefeito mais uma vez esse caso não ficou ou ficou mais escrito. Então eu só atualizo muito rapidamente. Estava batendo f para E você está apenas passando sobre o nome fora do fantasma como se eu ainda tivesse isso na minha pasta de cópia para que eu pudesse apenas colar o nome aqui e agora eu os renomeei ou para ser fantasma, mas não bloquear. Bom. Então o que podemos fazer agora é que podemos, na verdade, em vez disso, ela comiu-os onde quisermos. E então precisamos manipulá-los para que eles caiam automaticamente por nós e verificando onde eles podem realmente aterrissar. E onde está o esporte? Este fantasma, ou na verdade é a pedra que estamos tocando, está se encaixando.
40. #40 lista Fantasma de Fantasma: Bem-vindo de volta ao curso nesta parte. Vamos adicionar todos os nossos objetivos, bloquear o guião do Playfield e tentar a instância do oitavo. , Quer dizer,sempre que insensamos um bloco C. Também queremos incenso. Ela comeu um fantasma do mar. Como é que fazemos isto? No início, abrimos nosso script Playfield e criamos uma nova matriz de objetos de jogo, mas não lista de bloqueios,
mas lista de fantasmas. Então eu apenas copiei este aqui, trago para baixo e renomeie-o para lista de fantasmas. Sempre que estivermos seguros e
voltarmos para a unidade, devemos ser capazes de arrastar em todo o mar vai todos os fantasmas que teremos lá. Posso te ver como a lista de fantasmas. E agora a parte importante vai acontecer. Precisamos ter certeza de que toda essa ordem aqui como C i a L O S é a
mesma ordem que e lista fantasma. O ponto mais fácil provavelmente é. Basta selecionar o pequeno símbolo de cadeado ali. Então vamos selecionar todos esses fantasmas em ordem. E já que ainda temos o ver na frente ou estas cartas na frente Bem, espero que você faça também Bem, então podemos simplesmente bebê-las na lista de fantasmas. Então, nesse caso, não
podemos comparar bloco C e ver fantasmas estão no elemento zero e todos os outros são a c i l o s t c i a l o s t vão ser representados e conectados aos IDs corretos. Isto é absolutamente importante. Você pode, ah, novamente verificar o símbolo de desbloqueio deste um dedo do pé símbolo de bloqueio. Desbloqueie a seleção, e assim podemos agora ir em frente. Não se esqueça de salvar sua cena e voltar para nossa casa, roteiro ou roteiro Playfield. Sempre que criamos um novo bloco fora da rota, queremos criar um fantasma. Eu já tinha um comando lá. Então o que queremos fazer é criar um fantasma ao mesmo tempo. Esta resina, simples e basicamente é a mesma que temos feito aqui. Nós só precisamos ter certeza de que o ponto de desova e tudo o resto está correspondendo ao ponto de
desova aqui. Então, o que podemos fazer? Somos insanidade? Um bloco novo, como um bloco fantasma. Eu só copio a linha completa aqui e nos traz para baixo. Quero renomear este para ser novo fantasma porque precisamos acessar a nós daqui a pouco. O que sabemos que quer insensate não é da lista de bloqueio, mas do índice aleatório fantasma dist. Então pegamos o mesmo índice aleatório calculado e trazê-lo para o ponto de geração viu o novo bloco. E o novo fantasma estará na mesma posição sempre que surgirem na mesma rotação sempre que eles responderem e assim por diante. E assim força. Agora podemos nos livrar do set na parte portuária aqui porque fizemos isso diretamente nos blocos de
farrapos. Tudo o resto, por enquanto, permanecerá o mesmo. Depois disso, precisamos criar uma conexão com o nosso eixo. O teu bloco. Estamos conversando para comprar um referenciando o novo bloco. Mas é isso que vamos fazer no próximo vídeo. Não se esqueça de salvar e ver na próxima parte
41. Reposição de bloco Fantasma: Bem-vindo de volta ao curso nesta parte. Queremos começar a trabalhar em nosso script de bloqueio de objetivos. O script Bloqueio Fantasma estará sentado em cada bloco fantasma ou em cada bloco fantasma e terá que seguir o bloco usual ou o bloco atualmente ativo, bem
como imitar sua rotação e posição. Mas também, queríamos cair completamente e testar onde ele pode pousar e onde, não com base na grade. Para fazer isso, vamos primeiro para roteiros para o link certo script New Sea Shell pronto e nomeou este bloco fantasma o que você quiser esta noite e abre este. Eu fui mono desenvolvimento ou estúdio visual ou qualquer outro I D. Uma vez que foi carregado e está aberto, nós vamos precisar ter uma conexão com o nosso objeto pai atual ou basicamente o
bloco real que o jogador está usando atualmente. Então eu vou realmente criar uma nova referência para esse nome, ele objeto de jogo ou o tipo de objeto de jogo, e este vai ser o pai. Basicamente, não
é diretamente aparente. É só alguém que queremos imitar com o Bloco Fantasma. Além disso, queremos ter uma conexão com o bloco Tetris, que está sobre isso para que possamos manipular ou solicitar coisas se precisarmos. Então eu vou nomear isso pode ser Tetris aparente ou algo assim. Agora o que queremos fazer nós, queremos reposicionar em cada etapa ou sempre que quisermos. Como se pudéssemos fazer isso. Uma atualização. Podemos fazer isso em um tribunal. Proteína realmente não importa nada. Queremos reposicionar nosso bloco com base no bloco pai. Mais uma vez, podemos fazer uso de um arejador de nove AM ou chamada rotina de núcleo, ou podemos colocá-lo em uma atualização. Essa é uma rotina muito legal. Então você vê qual é a diferença? A rotina central não será mais nada. Em uma função de ação baseada em tempo podemos colocar em portas Is e Wild loops e várias outras coisas que estão cuidando de temporização internamente. Além disso, isso vai ser como não executar diretamente uma atualização. É como um processo ao lado da atualização, então geralmente isso leva sempre que você quiser economizar algum tempo de CPU e coisas assim. Isto eu sou aerador ou rotina do núcleo. Vou nomear este bloco de reposição como novamente. Veja, é construído como uma função normal. Esse cavalo também tem os parênteses por trás dele. Também podemos colocar em quaisquer argumentos, mas não precisamos. Quando estamos executando essa rotina co particular, podemos criar um loop while e testar coisas para fora. Primeiro, queremos ter certeza de que nosso pai Tetris, como um pequeno erro de digitação se nossos pais Tetris é incapaz, então nós queremos fazer coisas. Então, se o pai Tetris pensou habilitado para que o script Tetris
bloco, o que estamos fazendo referência no momento, esteja habilitado. Então queremos reposicionar esse Brock, como fazemos isso? Isto é um simples Podemos facilmente criar uma pequena função ou fazer isto ou aquilo aqui . Retomar fácil de reposicionar isso. Deixe-me produto rápido, criar uma função de posição tão branca
posição, posição, fantasma ou algo assim, porque provavelmente mais tarde, precisamos nos excesso de qualquer outro ponto também. Então, enquanto nós estamos executando este loop selvagem Então enquanto nós estamos tendo apenas uma urna capaz pai Tetris, nós queremos definir transformado. A posição é igual do pé aparente que transformou nossa posição. Então o objeto do jogo fora do nosso bloco real que estamos jogando Mesmo para a rotação que queremos definir . A rotação antiga transformada será igual aos nossos pais. Rotações aparentes. Não se transforme, não gire. Agora queremos chamar esta função fantasma posição enquanto estamos dentro da rotina central. Então nós realmente chamamos posição Ghost Open vai Doença Brian e fechar a linha foi Irmã Michaela. Agora, o próximo passo é queremos avançar para baixo. Então, para testar se encontramos um caminho sólido ou qualquer posição onde nosso bloco possa estar passando. Então o jogador vê esse movimento particular como um ajudante depois que terminamos estava se movendo para baixo. Uma vez queremos dizer quando um rendimento retornar você e agora podemos esperar por alguns segundos. Neste caso abordado há um pequeno número algo como 0,1 se você pode mesmo ir. Mas como um menor com este número como 0,5 ou algo semelhante. Mas não fazemos isso como 60 vezes de segundos, que é a atualização? Lúpus. Então é aí que nós economizamos algum tempo de CPU de sua Sempre que estamos deixando este
olhar completo por causa de Tetris aparente não está mais disponível. Então podemos destruir o fantasma. Então destrua parênteses abertas e
fechem. Jogo O J. Então, o que quer que isto vai ser aqui e só para o caso, mesmo que provavelmente não
precisemos, podemos dizer retorno de rendimento? Não, assim. Agora só precisamos criar a função para mover nosso fantasma para baixo.
42. #42 Bloqueio de personagens: Bem-vindo de volta ao curso nesta parte. Queremos continuar. Nossos objetivos pertencem ao roteiro. O que eu quero fazer é que eles querem começar a trabalhar na função mover para baixo. Haverá algumas coisas que já fizemos dentro do bloco Tetris. Mas vamos fazer este ano um pouco mais rápido do que no bloco Tetris. Então, primeiro, vamos criar a nossa função de descida. Então é do tipo vazio mover para baixo e nós chamamos a função movido em. Claro, toda vez que estamos dentro da selva aqui, o que queremos fazer nesta ISS. No início, queremos tomar enquanto temos uma jogada válida. Mas como não temos acesso a nenhuma verificação de movimentação de desenvolvimento, precisamos criar uma nova. Então eu vou nomeá-lo mais uma vez, verificar Val ele mover aberto vai entre parênteses. Ainda não temos essa função, mas fomos criados agora e você provavelmente sabe o que está por vir. Na verdade, tudo dentro do Tetris bloqueia um osso para o movimento de verificação aqui. O movimento Vela Tech vai ser copiado em primeiro lugar. Precisamos fazer algumas mudanças nisso. Mas por enquanto, guarde isso e copie isso completamente. O tanque de touro completo do Tetris Block. Volte para fazer aqui. Talvez eu entrasse nisto e cola-o ali. Então temos um movimento Jack Vela. Também incitar um fantasma de guerra. Não precisamos nos matar. Queremos fazer o mesmo aqui. Primeiro, precisamos de tanque é que o nosso filho vai estar dentro do grão. E se esse for o caso, então vamos em frente e verificar para cada elemento neste nosso filho para obter sua transformação adequada na grande posição. Primeiro, vamos fazer o mesmo tanque sobre a transformação dos pais. Então, se nós realmente encontramos uma transformação que na verdade não é igual a agora e não é a mesma que nós estamos indo para retornar false. Mas antes de
fazermos isso, queremos fazer outra verificação. Este Jack vai ser, se ele não for igual a saber também. E agora quem quer pedir que seja aparente? Então isso transforma pai é que é igual a nós mesmos. Tão aparente. Não se transforme. Nunca mais quero voltar. É verdade, porque queremos ignorar esta parte em particular aqui, para obtermos um retorno válido. Verdadeiro. Então nós temos uma posição válida, para que nós realmente não tropeçamos em nós mesmos. Então, mais uma vez, se tropeçarmos em nós mesmos, dizemos “Ok, não há problema”. Temos um movimento válido por aqui e isso é tudo para a aldeia tcheca. Mova-se no momento. Então, agora, sempre que tivermos
um pedaço de L. A ou movimento válido aqui, queremos descer Verrugas. Como é que fazemos isto? Nós dizemos transformar a oposição mais igual Vector três para baixo. E o que também queremos fazer é quando não temos mais nenhuma verificação Vela, queremos mover para trás na direção para cima para que possamos apenas criar outra
declaração simples se , se não lixo Vela, mover aberto vai parênteses. Nós dissemos que nossa transformação a posição mais igual vetor Sri, Cale a boca! E agora devemos ter um fantasma que funcione. Não precisamos nos matar. Precisamos definir todos os objetos pais e o pai de Paris Tetris sempre que criarmos ajuda. Uma instância fora do fantasma
43. Etapas finais em Bloqueio de fantasma: Bem-vindo de volta ao curso nesta parte. Queremos finalizar nosso roteiro foi tudo o que é necessário Data. Primeiro, para rodar a rotina, precisamos começar. Então, no começo, vamos dizer, iniciar a rotina, abrir, fechar parênteses e qual é o que queremos chamar de bloco de reposição. Então vamos pô-lo aqui, fechar parênteses e fechar a linha foi o mesmo. Michael, é
assim que começamos qualquer rotina de código. Agora vamos ter que criar uma função excessiva para o nosso fantasma, onde podemos passar o pai e o pai Tetris. Já que estamos acessando isso do campo de jogo, teremos que fazer referência a eles de lá também. Primeiro, precisamos criar uma nova função pai de conjunto vazio público, e podemos passar agora o objeto real do jogo. Estamos realmente definindo objeto jogo. Vou dar um nome a ele. Sublinhado, pai. Então você não se confunde porque nós não estamos falando de nenhum pai de A ou nós não temos algo como pai pai lá, então nós sabemos e o roteiro também sabe. Ok, vamos definir este pai para ser este pai com a escola secundária ali. Falando nisso, vamos dizer que pai é igual a sublinhar pai, então não temos nenhuma confusão mais tarde. Então nós definimos mais uma vez este pai para ser desesperado, o que quer que nós estamos definindo lá também, nós queremos obter o componente do bloco Tetris de nosso pai para passá-lo para o
bloco Tetris ali. Nesse caso, podemos dizer pai Tetris é igual a pai Não obter componente. E agora precisamos passar e o tipo Tetris bloquear práticas próximas por trás da tentativa de quebrar é e, em seguida, um ponto-e-vírgula na linha. Então agora temos também uma referência à sua aparente Tetris. Nesse caso, agora
podemos verificar nosso reposicionamento se o Tetris pai ainda está habilitado. Sempre que estamos fazendo referência a isso, não se esqueça de dizer o script do Bloqueio Fantasma e vamos voltar a aplicar Campo e Playfield onde quer que estejamos atualmente em san, ela está formando um novo fantasma. Não precisamos definir seu pai, que atualmente é o novo cara aqui. Para fazer isso, só
precisamos chamar a função dentro do bloco fantasma. Então, primeiro, precisamos conseguir a conexão com o roteiro de bloqueio das garotas. Então o que vamos fazer é dizer, novo fantasma. Então este é o objeto do jogo que acessamos. Agora temos seu componente aberto, fechado, tentando uma pausa. É fora do tipo, e precisamos passar no bloco fantasma porque é aí que está a função. Queremos chamar, que é chamado set parent. Nós apenas criamos de antemão, e agora precisamos passar no objeto pai que queremos pai. Neste caso, é o novo bloco. Eu sempre digo que você bloqueia aqui e fecha a linha era um ponto semi cólon. Não se esqueça de salvar. E agora vamos voltar à unidade e ver se temos algum problema ou compilar aeração, Eros ou qualquer outra coisa. Mesmo esses avisos devem desaparecer. Isso parece bom. Agora só queremos ver como o nosso jogo com todos esses fantasmas está funcionando, pressione play. Como você pode ver, temos outra exceção de referência, e também meu loop de fio vai ficar preso aqui. Recebemos essa exceção de referência porque todos os nossos blocos fantasma não têm o
script correto anexado. Como você pode ver, ele tem o script errado. Nesse caso, Bloqueio
Tetris, a melhor maneira é selecioná-los todos. Tudo vai em blocos. Certifique-se de que todos os seis ou no entanto quanto você tem são selecionados, Presidente o pequeno JIA e remover este componente. Você pode querer manter a ação do sol, mais uma vez fazendo uso do pequeno símbolo de bloqueio. Ir para scripts e arrastar vai bloquear para eles porque é isso que eles são. Desbloqueie este símbolo de seleção aqui e teste novamente. Agora você pode ver que o bloco de meninas está diretamente abaixo. Vou bloquear o que quer que seja um bloco disto. Então nós também podemos ver se isso iria coincidir e você pode ver também, ele não iria mostrar-lhe onde este bloco vai pousar. Assim, o jogador agora pode ver melhor sempre que ele gira bem, onde este bloco vai pousar e se é possível colocá-lo em qualquer lugar no meio ou algo assim. Isso é importante, eu acho, para uma jogabilidade melhor ou mais fluida. E agora podemos perguntar o sim, jogar o jogo muito bem
44. #44 UI Introdução: Bem-vindo de volta ao curso nesta parte. Só quero explicar o que vamos fazer a seguir. O que eu quero implementar é qualquer casa, um, marcar algum contador, quantas camadas temos, na verdade, ano excluído ou apenas cumprido e ganhar enquanto jogo, bem como eu quero criar algum tipo de uma pré-visualização como o que vai ser o próximo bloco em nosso jogo? O problema é que a prévia do 1º 1 é que precisamos nos posicionar em algum lugar por aqui. Vou pintar aqui para que possas ter uma ideia do que estamos a falar . Do que estou falando. Vamos supor que teremos ervilhas longas mais tarde aqui. Queremos mostrar isso. O problema é que estamos completamente 3 60 graus ou campo de jogo. E não podemos apenas um tomar um objeto de três d e colocá-lo em qualquer lugar na cena porque a câmera, que vai girar o tempo do mundo em torno de um campo de jogo, pode ou não pode ver isso. Em vez disso,
eu criaria o que é chamado de imagem de regra dentro de nosso você eu assim em nossa tela base e produzi-lo de modo que, por exemplo ,
aqui, o objeto vai ser gerado. Além disso, eu preciso de uma câmera secundária que está olhando a partir deste ponto para este objeto e então realmente reflete o que ele vê. Então a câmera reflete foi ele vê e realmente trazer isso para a imagem bruta. O ponto aqui é também mais uma vez, esta câmera, quando estávamos com a câmera nesta posição e olhamos para o Playfield, provavelmente
vemos este objeto. O que precisamos fazer é não ver que precisamos rastrear a câmera ou vamos precisar colocar de alguma forma uma parede entre o lado da linha. Mas a distância para esta câmera precisa ser alta o suficiente para que não possa gostar de uma regra de varas ou estará por trás dela. Então é assim que eu iria e criaria algum tipo de objeto prevalece ali. Vamos fazer os cálculos aleatoriamente, como fizemos antes. Enviamos algum tipo fora de um gerente Prevue de qualquer maneira, e então o gerente Prevue cria esse objeto, como a partir do código, e então nós provavelmente giramos isso para obter um pouco fora de uma sensação de rotação e três d sentimento aqui . Talvez também coloquemos algum tipo de moldura em torno dele. Então não está parecendo muito gasto lá, como tudo isso vai ser feito e como nós produziremos que será explicado em um dos próximos vídeos ou em alguns vídeos. Além disso, o que eu quero implementar alguma pontuação, por exemplo. Nós vamos ter uma pontuação aqui como baseado em casa quaisquer demissões que criamos, por exemplo, por camada. Como quando apagamos um, provavelmente
ganhamos 400 pontos quando vamos limpar, como nós provavelmente dobramos isso. Precisamos de três. Dobramos isso de novo. E talvez quando conseguirmos quatro no total, vamos dobrar isso de novo? Algo Simula para isso também, podemos querer aumentar a velocidade geral de acordo com casa. Qualquer pontuação que temos, que significa da pontuação específica pode talvez nos levar a outro nível. Então, provavelmente também podemos fazer algo como qual é o nosso nível atual? E com base no nível, vamos aumentar as quatro velocidades do aqui mais algo por nível, mais talvez 0,5 ou, neste caso, um menos 0,5. Além disso, queremos ver quantas camadas teremos destruído de antemão. Então talvez possamos também determinar o nível com base nessas camadas. Por exemplo, se limpamos quatro camadas e um total, vamos incrementar o nível mais um, tudo isso é possível, e vamos ter muitas outras possibilidades para inserir essas coisas. Além disso, para a pontuação, para o nível nas camadas, queremos procurar alguns pontos ou algumas posições onde queremos mostrar isso. Comece a isso provavelmente diretamente sob a nossa prova sua janela. Também podemos, já que temos espaço suficiente do outro lado, colocá-lo ali. Se você está indo para se deitar, ter este jogo em um modo paisagem como este, então nós temos espaço suficiente. Se nós, por exemplo, pensarmos nisso quando não temos a paisagem, mas talvez um modo de retrato onde esta janela é um pouco menor, talvez
precisemos sair, mas com a nossa câmera principal do Campo de jogo. Então nós temos espaço suficiente aqui sobre os quatro primeiros, por exemplo, o novo Prevue, bem como colocar a pontuação o nível e s bem, essas camadas e coisas assim no topo. E esses botões entrariam automaticamente nesses cantos aqui. Mais uma vez. Estas são decisões projetadas mais tarde. Você vai ter que fazer sozinho. Eu só queria que você soubesse o que eu vou fazer nos próximos vídeos, e eu espero que você tenha a idéia sobre isso.
45. Configuração de pré-visualização de #45 UI: Bem-vindo de volta ao curso nesta parte. Queremos começar a criar tudo para o Prevue. Como eu expliquei no último vídeo, eu vou 12 lugares em algum lugar aqui. Você também pode mais uma vez colocar isso no centro do campo de jogo. Mais uma vez, uma decisão de design para você para coisas para criar isso. Priv, você vai ter que ir para nossa lata atual com eram ou mudar entradas e coisas
assim vai ser relacionado para escrever como você eu e criar uma imagem bruta. Isto é necessário. Precisamos disso. O que queremos fazer é, claro, você quer colocar isso em qualquer lugar para que possamos ir para rebaixar rolagem para fora alguns pedaços. Então vemos nossa tela completa. Talvez traga isto para o canto superior direito. Como eu expliquei, quão grande você quer que sejamos é, mais uma vez, absolutamente com você. Tenho de fazer isto de 11 a 50 por 50. Vou trazer isto para cá de qualquer maneira. Ali, mais uma vez. O que? Agora queremos fazê-lo. Quer produzir ou mostrar o próximo bloco ou o próximo bloco para fazer isso? No início, eu iria mais uma vez mais perto do meu campo de jogo e ver onde minha câmera no momento . ISS Eu quero deixar algum espaço de um ano e provavelmente colocar meu visualizador priv em qualquer lugar por aqui . Para fazer isso, precisamos de várias coisas novas que para nós essa imagem de papel precisa da textura. Então vamos para a nossa pasta de impostos, clique com o botão
direito, criar, renderizar textura. Esta corrida, a textura vai ser a nossa vitória. Não precisamos mudar nada lá. Mantemos como está e mantemos como dois ds. Bem, podemos mais tarde ir verificar essas outras configurações para fora. Mas, por enquanto, não toque neles. O que você não quer fazer é trazer esta imagem de pré-visualização para a imagem bruta como esta neste aeródromo de tanques. Mais uma vez, não
tocamos em nada. O que você deseja desativar provavelmente está certo. Conjurar alvo porque não queremos segmentar esta imagem. De qualquer forma, o próximo é ver a nossa imagem. Mais uma vez, precisamos ir e trazer uma câmera para o jogo. Esta câmera será conectada a esta textura prevalece. Deixa-me mostrar-te o quê? Quero dizer, vamos criar um novo clique direito. Você eu câmera. Como você pode ver, esta câmera não foi criada em dois espaços D só porque eu a tenho aqui, ou então ainda é perspectiva. Vou levar isto para
a direita. Quando saio para rebaixar, fica em algum lugar no espaço. Agora, mais
uma vez, eles vão zerar este um pouco. E talvez eu traga isso um pouco de volta para que eu possa ver algo, pelo
menos aqui para uma prévia. Também outra vez. Veja, o fundo não tem nenhuma mudança para esta câmera porque esta é a câmera ativa atual. Quando sabemos que queremos fazer é rebocar. Ative esta pré-visualização de uma parte. Mais uma vez, precisamos ter certeza de que esta textura prevalece está conectada à textura alvo
aqui . Então vamos arrastar isso para esta câmera. Agora vamos ver tudo dentro desta pequena janela de pré-visualização. Quando agora podemos nos matar, podemos arrastar isso para qualquer lugar onde não vejamos mais isso. Basta fazer isso no eixo X e fazê-lo longe ou longe. Suficiente. Se soubéssemos, tome um dos nossos pré-fabricados, por exemplo. Talvez este. E traga isso a seguir ou na frente desta câmera, como no acesso 00. Talvez nós vamos trazer a câmera que mordeu para cima. Vamos ver o Prevue fora do próximo quarteirão. Além disso, mais
uma vez, ainda
temos isso prevalecer. Vou desativar o bloco Tetris e pressionar o avião. Mostrar agora o que vai acontecer quando soubermos que jogaríamos o jogo e giraríamos? Você pode ver aqui no fundo. Você ainda vê essa peça. Mas é isso que queremos evitar porque não queremos que o jogador veja o que
virá a seguir. Quando ele apenas gira a câmera, nós só queremos que ele veja que sempre que isso estiver dentro desta imagem para evitar isso, nós vamos entrar em nossos materiais para o e criado novo sob dois materiais. Então nós vamos para Seder Standard sob a cor, e nós colorimos isso para qualquer cor de fundo que é aqui. Então, no meu caso, preto por enquanto, eu vou entrar na minha cena e criar um novo objeto de três D quant. Eu quero ter certeza de nos girar 90 graus até aqui e escalá-lo um pouco mais. O tamanho real realmente não importa, mas a posição faz o que eu quero dizer com isso. Agora, sempre que rodarmos agora, queremos ter a certeza de que quero a câmara sempre que o fizermos. Esta rotação não está aderindo a esta citação. Então esta é a nossa imagem escondida, que está cuidando de que Karen não vê este quarteirão. Então, se é muito perto para você, você sempre pode trazer isso ao lado para ouvir ou ainda mais uma vez, não importa. Certifique-se de que a câmera não está girada aqui ou não, mesmo de qualquer maneira cruzando com o nosso campo de jogo. Além disso, esta câmera não vai ver nada na quadra, porque o tribunal da parte de trás, como era aviões é completamente transparente. Isto é muito bom. Então agora pegamos material novo, vamos nomear isso pode estar escondido ou escondido ou qualquer material e trazer isso para os meus aposentos. Então agora não é branco, mas preto. Além disso, não
queremos que isso lance sombras ou até mesmo receba sombras, e pressionamos play novamente sempre que estamos girando em uma câmera dentro do jogo, não
vemos nada. Jogue este bloco. Podemos ver nossas câmeras aqui. Nós não vemos nenhuma sombra disso tão bem como nós não vemos este pequeno objeto atrás deste bloco. Isto é absolutamente importante para aqui. Então agora é uma vez que temos este objeto escondido ou este Haider vai renomeá-los também, ou este aqui para Haider também. E agora eu não posso pegar esta câmera e mudar seu fundo para qualquer cor novamente, como eu gosto. Por exemplo, podemos ir de longe da skybox, dar-lhe uma cor sólida. E nessa Kayla, ou neste caso, apenas representa a cor em branco aqui. Então, não importa que tipo de cor eu vou para os sapatos, ele pode ver que nada está mudando porque está tirando tudo de volta da câmera da veia. Bastante decente. E agora só precisamos decidir como queremos incendiar e oito ou criar todos esses pré cinco blocos para que possamos mostrá-los aqui e também na imagem. Nós provavelmente queremos criar um quadro em torno dele para visualizar que ainda melhor para fazer esta visualização,
nós podemos, nós podemos, por exemplo, pegar o material de aderência e trazer isso em uma emissão vazia ou qualquer imagem e torná-lo invisível, ou vamos criar um muito próprio. Eu já tenho um quadro e uma máscara de quadro criados. Então, se você quiser, você pode fazer uso deles. Eu vou beber aqueles dentro do meu campo aqui pode ver que este quadro tem cantos arredondados ou a máscara de tensão. E esta chuva também tem cantos arredondados daqui. Então, se você gosta de fazer uma imagem ou nelas um trem em volta da nossa imagem de câmera ali, podemos simplesmente sobrepô-la. Então nossa imagem mostra o que quer que a câmera veja que eu gostaria de fazer é criar uma outra imagem aqui e trazer nosso quadro sobre isso. Mas precisamos ter certeza de que este é um sprite dois D u. Eu aplico as mudanças. mesmo para a máscara de moldura Sprite. Para fazer eu aplicar as alterações na máscara nesta imagem vamos trazer agora a nossa moldura de sprite . Como você pode ver, esta imagem é muito pequena por causa de uma imagem bruta de 1 50 mas esta é apenas 100. Teremos que nos certificar de pelo menos trazer isto para 150 por 150 s. Bem, então você também pode renomear este para enquadrar. E a causa agora também é que agora podemos cuidar desta chuva, por exemplo. Podemos torná-lo vermelho, verde, azul ou o que quisermos. Como se eu fosse deixar minha moldura branca de novo. Mais uma vez, você pode decidir como você quer lidar com isso sozinho. E então estamos prontos para ir, pelo
menos com a Prevue ou a parte fora da alçada preparada para o momento.
46. #46 Pré-visualização de programação de UI: Bem-vindo de volta ao curso nesta parte. Eu quero criar um objeto
gerador para as nossas antevisões daqui. Também mais tarde, precisamos pensar sobre como queríamos gerenciar esses blocos de forma diferente. Ou se você quer fazer isso ou mesmo não. Basicamente, o que precisamos fazer é desativar tudo, que já está nos objetos da irmã, como eu já desativei o bloco Tetris. Por outro lado, se não quisermos fazer isso, mas queremos, por exemplo, girar isso. Podemos criar um pequeno script de rotação, que vai mostrar este objeto em particular. Vamos começar com o Prevue ou gerar um objeto. Se você não sabe sobre a posição fora do objeto espinhal, você também pode apenas tomar este como um indicador para que nós podemos fazer. É que nós apenas criado vazio como uma criança em que eu estou com Dragon lá fora. Já temos a posição correta para o ponto de pivô de um dos nossos blocos. Eu posso me livrar do bloco C neste jogo. Objeto também pode obter algo como um nome ou mesmo Aiken, apenas uma vitrine que este vai ser o nosso er de geração ou assim podemos renomear este para gerar são objeto mais uma vez, isso não faz qualquer desova real. Apenas cuida disso. O bloco correto será gerado nesta posição. E isso vai ser assim caso nesta câmera particular aqui e também toma cuidado, que vai ser que em Spawn, er eu quero criar um novo script que vai ser acessível de onde quer que nós gostamos Teoh e nós podemos falar com ele enviou o i d correto para o er de geração ou para a geração do objeto. Além disso, poderíamos fazer a mesma coisa diretamente no campo de jogo. Mas já que temos um objeto conhecido lá, também
podemos fazer isso. Aqui vamos na nossa pasta de scripts, clique com o botão
direito, criar um novo script C shop e talvez nomeou este Prevue ou prévia ou o que você quiser em como Proview de, por exemplo, pode ser bom. Você também pode nomear este prevue ou spooner para Prevue. Seja qual for. Certifica-te de que bebeste este guião no nosso objecto de origem assim, e abre este. Não tenho sido mais desenvolvido estúdio visual ou o que quer que você prefira trabalhar? Uma vez aberto, vamos nos livrar de começar a atualização porque não precisamos deles. Podemos criar um objeto de jogo público Ray com todos os nossos Isso é uma pré-visualização pré-fabs. Então eu posso apenas ou prevalecer bloqueios. Então eu vou nomear esses blocos de pré-visualização. Nós também precisamos é o acesso er para este particular privado A Então você ia fazer o mesmo que
nós fizemos antes. Criamos uma instância estática pública. E neste caso, fora do Priv, você é Então nós o nomeamos Revere e nomeamos a instância Proview apenas instantânea, já que nós já fizemos antes muitas vezes Tempo em branco acordado. Queremos ter certeza de que nós fora do curso definir a instância fora deste premier para ser esta instância
particular fora que agora nós precisamos ter uma função excessiva que precisa ser vazio
público. E então vamos dizer algo como assim revisão sobre. O que nós queremos fazer é colocar em um índice off tipo indicador que está realmente representando o texto em fora desta matriz particular Aqui. O que queremos fazer é que também queremos armazenar o objeto de jogo costurado atualmente. Então dizemos objeto de jogo, ativo
atual ou algo assim, porque queremos destruir este sempre que criarmos uma nova privada aqui. Nesse caso, podemos dizer destruir objeto de jogo ativo atual. Isto é importante. Então podemos basicamente esvaziar este esporte completo e trazer um novo. Precisamos fazer isso logo no início. Nós também queremos fazer é queremos criar ou instância que ela comeu um que vai estar sentado dentro dos blocos de província e direito a esta visão, o ativo atual. Então não podemos dizer que o ativo atual é igual a Instant E oito. E agora o que queremos Instant She comeu é blocos anteriores. Então a província bloqueia matriz com o índice. Acabamos de passar do outro script mais tarde na posição transformada não posicione e a rotação trimestre nian identidade ponto. Além disso, talvez
precisemos nos digitar em um objeto de jogo. Então é melhor fazermos isso. E isso é tudo o que precisamos fazer. Então o prevalece aqui. Não se esqueça de dizer que é o roteiro e vamos voltar à unidade. Deixe o compilador ser executado em. Sempre que prevalecer, Blocos estarão ativos. Aqui, nós somos capazes de colocar em qualquer pré fabs. Para isso, nós basicamente apenas duplicamos todos os nossos blocos habituais aqui. Nós vamos selecionar todos eles pressione o controle de para duplicar. E neste caso, todos os selecionados precisam ser renomeados também. Então, por exemplo, este não vai ser. Talvez você também possa manter o nome, mas talvez você queira dizer, veja Prevue e você talvez queira fazer isso foi todos os outros também, porque estes vão ser diferentes por enquanto. Isso é apenas renomeado para aqueles. Então, todos esses que o céu agora com um por trás dele, vamos nomeá-los todos para ser prevalecer para mim. Todos eles estão no centro, então é fácil para mim rastreá-los. Eu vou passar por esse aumento rápido tomar o seu tempo. Isso foi só ter certeza que você pegá-los ou corrigir? O que você pode querer fazer é dar a todos uma cor ou, na verdade, não
importa . Você também pode manter as cores s que eles são. O que você não quer fazer é selecionar todos eles e se livrar do
script de bloqueio de propostas aqui pressionando o gee, eu posso remover componente. Agora, nós só queremos ter certeza de que temos uma boa prévia, significa que queremos girá-los em torno de seu próprio acesso. Nesse caso, nós criamos muito rápido e você vê loja, roteiro e nomeado isso Girar me ou algo assim e abriu este e mono desenvolver ou visão história ou o que eu d mais uma vez que você gosta. Uma vez aberta, precisaremos de atualização só aqui podemos, por exemplo, dar uma velocidade flutuante ou velocidade de rotação aqui, se quisermos. E talvez queiramos tornar público para que, mais tarde, possamos definir isso no Inspetor com base na telha. Podemos fazer isso em particular. Basicamente, não importa. Então talvez eu dê uma velocidade de 10 por atualização. Queremos girar para esta telha em particular em torno. É por isso que o acesso. Então o que, nós vamos fazer a gente? Nós dizemos transformar ponto girar ao redor. E então aqui podemos definir um ponto e acesso e um tornozelo muito bom. Então, primeiro, precisamos definir o Eixo, ou neste caso, serão os vetores. Três pontos. O ponto vai ser a posição. Então, neste caso, transforme a posição do ponto. Então, na próxima vez que colocarmos o Eixo, no nosso caso, é o Vector 3 levantou, empoeirado acesso, e o último ponto será o tornozelo. Neste caso, vamos colocar uma variável de velocidade. Então velocidade, tempos, tempo, tempo
delta. E isso deve girar essa peça automaticamente sempre que ela se tornar ativa. Baseado na velocidade que teremos aqui. Não se esqueça de salvar. E finalmente, em Playfield, sempre que quisermos criar um Proview, precisamos mudar algum código aqui. Mas é isso que vamos fazer no próximo vídeo
47. #47 Pré-visualização de finishing de UI: Bem-vindo de volta ao curso nesta parte. Queremos finalizar todos os passos para o nosso Prevue. Primeiro, precisamos ir para nossos pré fabs e selecionar todos os nossos prefeitos. Queremos colocar o guião girar-me neste caso ou o Privy quer e vamos aos guiões e arrastaremos. Rota-me em todos os. Como você pode ver com a variável de velocidade aqui, podemos facilmente. Apenas confira isso. Quão rápido? Isto vai ser muito lento. Sempre que fizermos, pressione no início. Você pode testar isso sozinho. Como pode ver, 10 parece estar quieto, Luke. Talvez queiramos levantar um pouco. Então, mais uma vez, eu seleciono todas as pedras prevalecem de um ano e talvez torná-lo 100. Vamos ver o que está acontecendo aqui. Desde que jogamos o troco no pré fabs, ele também estará aqui nesta parte ali. Isto ainda parece ser muito lento. Talvez nós vamos elevá-lo para 200 que deve ser bom para ir. Eu vou me livrar da nossa parte de pré-visualização ali ou pedaço de bloco. E agora nós só podemos realmente obter o priv sua corrida do dia para si mesma e
blocos anteriores . Temos de ter a certeza de que a ordem será a mesma que para os fantasmas
, bem , nós para os blocos normais. Então, a primeira ou a mais fácil parte dos anos vão selecioná-los de cima a baixo por suas letras. Vou me certificar de que eu acerte este nascido primeiro acerte o símbolo da fechadura mais uma vez. Então, como todos eles de cima para baixo e apenas arrastá-los para o breve, seus blocos permeáveis. Então C I a l o s t deve ser o mesmo que em. Vou jogar no campo sempre que desativarmos. Olhe de novo. Veja, eu não vou ter certeza que você tem isso. Caso contrário
, não faz sentido. Agora só precisamos ter certeza de que nos obtemos Soto trabalhar que o nosso campo de jogo fala para que a nossa pré-visualização de um script e diz-lhe qual eu d para gerar próximo e também no campo de jogo. Vamos ter de guardar esta informação para o fazer. Precisamos abrir no script Playfield aqui sempre que geramos que já fazemos o índice
aleatório diretamente na paz de geração ali. O que queremos fazer é que queremos aleatorizar isso antes de fazermos o desovamento real, como uma peça antes que isso aconteça. Nesse caso, podemos criar outra função aqui, que
significa que vamos criar um vazio público. Então nós o nomeamos, talvez calculemos Prevue. Então, basicamente, não
fazemos mais nada a não ser este. O que significa é que podemos um tanque aleatório no próximo cálculo e trazer isso aqui ? A desvantagem sobre isso é que não podemos pegar esses assistentes de índice aleatório, e não podemos fazer isso apenas localmente como esta parte. O que precisamos fazer é definir índice aleatório antes ou realmente seguro que em algum lugar . Nesse caso, vamos para o nosso topo aqui e trazemos aleatoriamente o próximo inteiro aqui. Então, o que? Podemos nos fazer antes de realmente fazer o bloco de geração de lá. Nós aleatorizamos o próximo bloco já e assim como configurar este até quando ou rebocar o que gostamos de você. Então, o que isso significa? Primeiro, queremos ter certeza de que o índice aleatório é calculado antes que o novo bloco seja gerado. Significa que precisamos sempre afundar um passo à frente. Então, o que fazemos agora? Temos que chamar “Calcular Preval “depois de terminarmos de desovar o quarteirão aqui. Então, primeiro, isso significa
que vamos calcular um prevalecer, o que significa que o nosso aleatório é preenchido por qualquer número
aleatório. E aqui ainda temos acesso ao aleatório no próximo. Porque conhecemos uma loja aqui no topo. A única coisa é que e começar antes de gerarmos o primeiro quarteirão aqui é que
vamos calcular a competência no primeiro lugar também. Finalmente, só
precisamos conversar. Depois de terminarmos o cálculo da privada aqui, precisamos conversar com uma prévia. Então dizemos que prevalece a instância dot não prevalece assim. E agora o que precisamos fazer é passar no índice aleatório porque isso foi calculado depois terminamos com o cálculo do nosso prevalece. Então, mais uma vez,
primeiro, calculamos o privilégio para a próxima pedra. Nós vamos gerar o que está dentro do aleatório e próximo e no próximo ou sempre que isso
criou o próximo é bandido já pré calculado sempre que nós geramos, o próximo calculado provavelmente já foi executado por causa disso, e nós também pode mostrar a competência para este particular ou para a próxima pedra. Vamos testar isso por enquanto. Vamos voltar para a unidade e ver se há alguma compilação Eros. Se nada acontecer e tudo estiver bem, nosso cônsul declara claro. Não quero ter certeza. Claro, pelo menos
estamos seguros uma vez ter certeza que nasceu. Um set up em uma colher ou índice, Eu posso ser renomeado este para Prevue Spooner. Talvez seja um nome mais eficiente. Segura de novo. E agora eu carrego em “play”. Vamos ver o que está acontecendo. Como podem ver agora, este será o próximo quarteirão ali. Deus calculou ser uma daquelas peças longas. Como você pode ver, também
funciona. A próxima é realmente uma peça longa. Agora o próximo deve ser um desses quadrados. E como você pode ver, o priv suas obras. A única coisa é, o Keira não está no corredor em uma boa posição aqui, então talvez queiramos reposicionar a melhor escolha para fazer isso é pausada. O jogo. Pegue sua câmera, traga-a para a posse. Onde quer que você acha que isso vai ser um bom 1 pode ser um pouco longe para que você possa ver também peças
longas mais tarde. Talvez assim. Agora você tem toda a informação de transformação aqui. O que você deseja fazer é copiar este componente e pressionar para cima. Agora queremos Teoh colar valores de componente. Assim, os que já pagamos são copiados antes e agora tudo deve funcionar como esperado. E o governo deve ser atualizado para você também. Então você pode ver agora que temos este no centro. O 1º 1, claro, não tem nenhuma informação aqui. Só o 2º 1 e tudo funciona. E você também pode ver que ele vai girar em torno de seu ponto pivô Muito bom. Até as ervilhas longas vão trabalhar no dedo do pé. E podemos provar isso. Então nós sabemos. Ok, nós temos um pedaço longo da próxima vez, então nós podemos pré enviar nosso auto ou pré crime pré nos
preparar para a próxima pedra e levar isso para onde quisermos. O Teoh. Bastante bom. Então, mais uma vez, sempre que estamos agora, estamos realmente indo com nossa câmera ao redor, assim como nós passamos por este pequeno quarteirão aqui. Somos incapazes de ver o que vai acontecer por trás disso. Além disso, vamos mais tarde cuidar dessa parte fora de um dia como fim de jogo.
48. Nivelamento de camadas de UI: Bem-vindo de volta ao curso nesta parte. Eu quero preparar tudo para pontuação de nível acima e, neste caso, também acelerar. Eu já expliquei o que eu gostaria de fazer aqui, ou
seja, dependendo, por exemplo, da pontuação ou da camada que já temos. Na verdade, você cumpriu. Queremos incrementar o nível mais cedo ou mais tarde, bem como vamos verificar como podemos aumentar a pontuação dependendo de quantas camadas temos limpado e também pontuação deve ser atualizado por isso de qualquer maneira. Então, todos estes são seus oculares. Então precisamos de uma conexão com uma interface U I que está realmente nos dando a possibilidade colocar nesta pontuação. E também precisamos de um objeto que manterá toda essa informação fora do curso. Também podemos criar tudo sobre isso diretamente no campo de jogo, mas queremos manter tudo o mais limpo possível. O que significa que é bastante simples? Queremos criar um novo objeto que vai cuidar apenas fora da pontuação. Este objeto para mim vai ser chamado de gerenciador de jogos. Este jogo na prisão vai manter tronco e cuidar de tudo sobre pontuações, configurações e todas as outras coisas mais tarde. Então, o que significa também como precisamos criar um novo script que vai fazer todas essas coisas para nós. Então vamos criar um novo script de trabalho C e nomear este gerente de jogo. Assim que tiveres isso e escrevermos um grande G e um grande M, vais ver esta engrenagem que consigo aqui. Isso significa que você vai achar isso mais fácil. Bem, o teu jogo e vai ser, vou mandar isto. Eu acredito que este gee assemble foi introduzido na unidade 72 k 17 Eu não tenho certeza se você usar versões mais antigas, você provavelmente não vê isso, mas realmente não importa em tudo, desde que você pode ler o nome, é
claro . E, claro, eu quero ter certeza de que eu arrastei este para o meu objeto gerenciador de jogos e abrir este em mono desenvolvido estúdio licious ou onde você preferir. Uma vez aberto, queremos ter certeza de que vamos ter esses indígenas quatro pontos. Então, na escola, eu não quero ter um trabalho inter para, tipo nível, que vai representar o nível atual. E, claro, talvez camadas limpas ou algo assim, ou camadas completadas ou apenas camadas. Então o que vamos começar com é, claro, nível um, e também pensamos com o nível de pontuação zero. Então o que precisamos fazer é recalcular tudo isso sempre que precisamos. Tipo, sempre que
limparmos uma camada, vamos atualizar a pontuação, bem como atualizar. Como tudo. Sempre que falamos com uma função específica, recalcular o nível com base em qualquer que possa ser a pontuação ou o que você quiser. Como é que fazemos isto? Podemos definir várias declarações diferentes para isso. Primeiro, queremos ter certeza de que temos uma conexão para atualizar a pontuação. Loveland inteligente ou camadas limpas que podemos fazer é o que você precisa fazer é no início precisamos
ter um ponto de acesso. Então, neste caso novamente, instância de gerente de jogo estético
público e você adivinhá-lo direito no vazio acordado. Vamos definir esta instância será igual a isso como você já sabe sobre. Já aprendemos isso. Então movendo eu quero fazer é queremos atualizar pontuação, Por
exemplo, quando nós limpar uma camada, você também pode fazer isso. Sempre que você derruba uma pedra, você pode dar a si mesmo ou aos seus jogadores alguns pontos. Mas na maioria das vezes não faz sentido. Acredito que sim. Bem, completamente até você como você desenha isso se você quiser fazer como OK, eu derrubo uma pedra e dou alguns pontos. Então você precisa criar várias funções diferentes para atualizar tudo de acordo. Primeiro, vamos falar sobre pontuação. Vamos precisar criar um vazio público. E então, novamente, algo como set score, Ok, feche parênteses. E é claro que chegamos a isso já que não sabemos o placar aqui, provavelmente. Bem, no momento não sabemos de nada. Podemos implementar quantidade como um inteiro, e o que podemos fazer agora é dizer pontuação mais igual quantidade, algo assim. Super simples, fácil de acessar, fácil de atualizar e assim por diante. Nós também podemos fazer é podemos sempre que sentamos pontuação, nós queremos atualizar o você I mais tarde. Então vou fazer um pequeno comentário. Por aqui. Nós também podemos fazer a nós. Podemos fazer o mesmo com nível limpo ou camada limpa, por exemplo, vamos fazer o mesmo que ótimo em você público evitar camadas limpas. Talvez façamos com o grande L. para não termos problemas mais tarde com as camadas da convenção de nomenclatura limpas. E então aqui nós apenas estávamos as mesmas camadas limpas mais iguais. E então nós, é
claro, precisamos implementar em quantidade, acrescentando aqui nós vamos dizer mais quantidade. Assim, podemos facilmente ultrapassar tudo isso fora do curso. Precisamos atualizar o porquê neste ponto,
é bem, é bem, nós também podemos combinar esses dois dependendo mais uma vez se você quiser ter apenas um
ponto de acesso onde você sempre quer colocar em camadas sempre pode querer atualizar set score. Você pode colocar várias coisas em uma linha aqui e atualizar como tudo. Agora também podemos falar sobre como podemos calcular níveis. Por exemplo, se a pontuação foi menor do
que uma quantidade específica, que podemos dizer nível vai ser 10. Então eu vou fazer um nível de cálculo de vazio interno. Claro que sim. No final, queremos atualizar a esposa para isso. Mas agora podemos calcular tudo com base nas camadas limpas ou até mesmo na pontuação. Por exemplo, se a nossa pontuação for menor ou igual, digamos 10.000 pontos. Se for esse o caso, queremos ter certeza de que o nosso nível é um, então nível é igual. Um que podemos fazer isso, como foi um par fora mesmo l declarações lá. Toe, crie algum espaço para verificar. O próximo vai ser outro. Se a pontuação for superior a 10.000. A pontuação final é inferior a 20.000. Por exemplo, não
podemos dizer Ok, nível
central que vai ser, também. Se você tem,
tipo, cinco níveis diferentes onde vamos definir diferentes variáveis de velocidade, então podemos fazer isso. Nenhum problema em tudo. Nós só precisamos definir a extensão sobre o, por exemplo, nós podemos fazer outra coisa se else se e então nós dizemos ok daqui, superior a 20.000 e inferior a 30.000. Nós também podemos dizer menor igual porque e aqui nós verificamos apenas quatro maiores não aqui, maior ou igual. Então, acima de 20.000 acima de 30.000 acima de 40.000 acima de 50.000 acima, por exemplo . Agora podemos fazer isso aqui. Precisamos fazer o oposto ou, na verdade, aqueles que estão limitando esta parte completa. Então é um menor igual, 30.000 pequeno tipo com 40.000 menor igual, 50.000 formigas mola igual a 60.000 aqui. E agora precisamos atualizar os níveis de justiça. Então não podemos dizer nível vai ser três nível para aqui vai ser quatro nível
vai ser cinco e nível vai ser seis. Você pode fazer isso até 10, por exemplo, e então você manter o controle sobre isso. Então tudo o que é superior a 11 milhões de pontos ou 100 mil pontos, absolutamente possível. Podemos fazer isso até às 10, porque provavelmente faz mais sentido por aqui. Então eu tenho uma duplicata isso, como para o sete para o oito para o A nove e para a tenda, e nós vamos parar um 10, claro. Então, mais uma vez nós temos 456 e aqui nós vamos para o nível sete, as luzes nível nove e Leviton. Mais uma vez, não
precisamos deste acampamento aqui. Nós vamos ficar neste ponto. Deve ser algo como 100 mil, eu acho. Eu não sei. Vamos verificar bem rápido. Então isso começa aos 50. Isto começou 60. Isto começa um 70 às oito. Ok, este vai ser nove. Já temos nível um até 1000. Se você não gosta disso se estende por aqui, você sempre pode pegar sua própria pontuação. Você também pode dizer 100 a 201 105 101 ou 2000. O que você quiser. É absolutamente com você. Você precisa projetar isso por conta própria e ver se as pessoas são capazes de jogar o jogo. No entanto, quão difícil você vai fazer isso para eles. Então aqui, vamos precisar dizer que é igual a 60.000. 70.000. 80 mil. 90.000. E aqui nós vamos ter mais de 9 990.000 e então nós vamos estar no nível 10. Então, e o que podemos agora fazer isso Podemos enviar também uma velocidade para com base nisso. Então, por enquanto, vou pegar um carro alegórico e dar um nome a essa velocidade máxima. Então, vamos precisar de um acessório para ler a velocidade máxima,
a velocidade máxima calculada e atualizar nossos tanques explosivos ou blocos de tentação de acordo com a velocidade máxima
calculada. Mas é isso que vamos fazer no próximo vídeo.
49. #49 UI Calcule a pontuação de #49: Bem-vindo de volta ao curso nesta parte. Queremos ir e continuar a trabalhar no gerenciador de jogos para que possamos calcular a velocidade máxima automaticamente com base no nível em que estamos. Além disso, precisamos criar uma conexão para marcar nível de texto, texto da camada de texto e todas as outras informações. Primeiro, vamos abrir o script de imagens do jogo e precisamos ter a possibilidade de ler a
velocidade máxima aqui. Para isso, vamos criar uma função pública mais uma vez pública. E neste caso, você quer voltar à tona porque quatro velocidades vão flutuar. Então o flutuador público lê a toda velocidade. Então, queremos ler esta informação sempre que chamamos esta função muito útil porque neste caso, nós só precisamos retornar qualquer que seja a velocidade máxima iss, Nós não precisamos de qualquer excesso de qualquer outro lugar. Só por isso, podemos requisitá-lo aqui. Mas ainda é sti propriedades privadas, e ninguém mais pode acessá-lo apenas sobre esta função mundial, e ele só pode ler isso agora precisamos fazer é calcular a velocidade total e
precisamos definir isso com base no nível calculado, por exemplo, que significa sempre que estamos no nível um, queremos, por exemplo, definir a velocidade de quatro para ser igual a ST. Isso é bastante lento, então as pessoas podem realmente começar a aprender o jogo, ter tempo suficiente como três segundos até que o bloco está caindo pelo menos uma vez e sobre os níveis. Sempre que o jogador apenas tem a sensação ainda melhor sobre isso, eles podem absolutamente entrar nisso e redefinir todas essas informações. Ou, na verdade, você realmente vai mais alto com a velocidade lá até que eles tenham algo onde ele está correndo super rápido para baixo, mas pode não ser tão bom quanto possível. Então, por exemplo, no Nível 10 você quer ter a velocidade máxima para algo como um. Então isso significa que leva um segundo para levar este próximo bloco para baixo no bloco atual para baixo, ou provavelmente quer torná-lo mesmo um pouco pneu como você 10.8 ou 0.50 ponto dois. Bem, isso é meio injogável, mas por causa da entrada problemas pobres, mas um segundo já é um grande desafio. Acho que sim. Agora você não precisa encontrar um bom cálculo que diga entre três segundos em pouco como um nível um e um segundo como um nível 10. Então você precisa encontrar um bom equilíbrio entre eles. Você sempre pode fazer alguns cálculos extravagantes. Bem, pelo
menos nós só precisamos dividir e número dois entre fazer Sim, com oito. Então podemos dizer que dois divididos por oito é zero ponto para lutar. Então, se nós por nível reduzirmos a velocidade total em 0,25, devemos ter uma redução mesmo uma velocidade total revisada. Então, neste caso, quatro velocidades, é igual dedo do pé. E nós vamos dizer negado três por 0,25 Então nós pousar por dois 0,75 e nós precisamos ter certeza que isso o suficiente atrás dele. Vou copiar isso. Traga isso aqui e aqui. Precisa ser 0,5 ou 2,5 aqui. Vai ser 2,25 e nunca cinco. Nós vamos ter uma velocidade máxima fora para eu espero que você consiga o cálculo. Mais uma vez. Você pode fazer seus próprios cálculos com isso. E aqui vamos ter agora ganhado 75. Copie isso. E aqui vai ser um 150 Então 1,5 aqui temos um, 25 E aqui dentro. Bem, nós vamos ter o um já. Então eu só fiz um cálculo errado sobre isso, mas nenhum problema em tudo. Também podemos reduzir até mesmo o de um dia. Então, talvez neste momento, nós vamos ter uma velocidade máxima fora de um. E eu faço este 1 pode ser super coração 0.2 ponto oito ou algo assim, ou mesmo 75 também deve ser um raza. Alto desafio. Ok, então agora temos todos os nossos níveis e a velocidade máxima. Então, significado por nível, Tudo em diminui em caso de pizza força. O que? O jogo se torna mais rápido assim como nós vamos ter A com este nível. Então o jogador recebe uma indicação fora. Ok, eu aumentei meus pontos. Eu não tenho um nível mais alto e assim por diante. E isso é tudo o que precisamos até agora. Agora só precisamos atualizar ou calcular o nível. Mas como fazemos isso fora do curso? Sempre que estamos definindo a pontuação pelo que quer que esteja vindo aqui, só
precisamos ter certeza de que calculamos o nível toda vez que vamos definir nossa pontuação. Então, nesse caso, podemos dizer calcular nível, abrir, fechar parênteses. Fechar a linha era um semi cólon. Mais uma vez aqui, queremos ter certeza de que atualizaremos tudo mais uma vez. Também foi uma camadas limpas. Então, sempre que temos um fator específico que vai atualizar como tudo ao mesmo tempo, você pode apenas colocar em outro argumento aqui. Por exemplo, se eu definir pontuação, talvez
eu queira ter certeza de que tenho uma camada limpa. Então, novamente, também colocar a camada de informações limpas na pontuação definida. E Jen, faça uso dessa função de atualização mais uma vez. Depende se você quiser, Ah, tomar conjunto, marcar, separar Lee ou se você quiser combiná-los como uma cadeia ou você quer atualizar como tudo apenas quando há um lá limpo. Então, nesse caso, quando 11 camada limpa, nós também podemos calcular os pontos aqui. Então, como fazemos isso? Basicamente, podemos fazer todas essas coisas como já fizemos antes. Nós vamos fazer alguns se imposto e a maior quantidade fora camadas que são capazes de ser compensados é de qualquer maneira quatro. Então, se a quantidade de entrada é igual a um, podemos dizer OK, Eu estava pontuação aumenta em 400, por exemplo, que
possamos chamar pontuação set e passou mais de 400 pontos. Esse é o meu cálculo. Você pode fazer o seu próprio agora. Podemos fazer isso com todos os outros também. Então, se quantidade isso também, podemos querer ir e dar 800 pontos. Se forem três, também
queremos duplicar isso. Então nós temos Diga-lhes, obrigado em 600 pontos e o último aqui vai ser com quatro quantidade, que vai ser o máximo que vamos dar. Talvez o duplo fora seja 3200. Assim, quanto mais em caso de combo os jogadores vão criar mais pontos no final que vai ficar muito bom. Agora nós atualizamos a pontuação sempre que chamamos camada limpa por esta quantidade de pontos. Mais uma vez, se você quiser enviar pontuações separadamente por sempre que você soltar apenas uma pedra, então você também pode chamar set score aqui
50. #50 UI Calcule camadas apagadas: Bem-vindo de volta ao curso nesta parte. Queremos ter certeza de que sempre que limpamos uma mentira outro saímos do curso os pontos. E também calculamos quantas camadas vamos ter realmente limpo nesse
ponto específico aqui para fazê-lo. Vamos abrir nosso script Playfield e ir para a função chamada delete Layer. Você sabe, nós vamos verificar se há camadas cheias neste momento. Vamos apagar todos os blocos que estão sentados nesta camada? Bem, nós também podemos fazer é passar em um introgénio local uma atualização sempre que terminarmos com este Tak
completo aqui, no fim. Podemos atualizar o nosso gerenciador de jogo para chamar a camada de função limpa ou camadas limpas e passar na quantidade clara. Então o que fazemos é no primeiro momento antes de irmos para o outono,
criamos um temporário local em Gia chamado camadas limpas ou algo assim. Precisamos defini-lo para que seja dito ser zero no início e aqui, sempre que vamos contar isso ou quando estamos sabendo, como podemos ter um completo e encontramos um. Vamos incrementar camadas limpas para que as camadas sejam limpas. Além disso, sempre que terminarmos com a sequência completa com o Jack completo, teremos qualquer número no caso de camadas limpas por aqui. Se tivermos zero, é
claro, não
ganhamos pontos. Então o que podemos fazer é, se menos limpo é maior que zero, então nós queremos ter certeza de que nós atualizamos ou gerente gays. Então gerente gays instância pensamento, não camadas limpas e, em seguida, passamos nas camadas limpas. Então, os que contávamos aqui não se esqueçam de salvar, e isso é tudo. Agora só precisamos conectar a interface do usuário para que os jogadores possam ver em qualquer lugar. Quantas camadas ter limpo no total, bem como você sabe, eles vão ver os pontos que eles têm para limpar um. Lá
51. #51 elementos de texto de UI: Bem-vindo de volta ao curso nesta parte. Queremos continuar a trabalhar no Você Suficiente para visualizar a quantidade de camadas de pontuação limpas e nível que temos atualmente. O que precisamos fazer é que precisamos Teoh realmente criar novos elementos de texto e torná-los para que eles estejam sentados em nossa tela. Então, neste caso, a lata foi também foram um botão essa visão, como ambos os botões, bem como Asama Prevue Além disso, eu renomeei minha câmera que está fazendo o Proview para ser uma câmera prevalecer para que não se confunda com a nossa câmera alvo Por aqui, só por precaução. Mais uma vez, a convenção de nomes é sempre o rei na tela. Eu quero criar agora algo como talvez um vazio ou podemos apenas colocar a conexão uma vez que diretamente dentro não importa realmente. Vamos supor que não temos nenhum objeto de jogo vazio e que vamos criar um novo u eu texto vai renomear este porque este vai ser o meu texto de pontuação. Posso dar-lhe um pouco de cor. Posso levar para onde quiser. Teoh Atualmente está localizado por aqui. Nós mal podemos ver isso na vista do jogo porque fora da cor, bem como o tamanho. Por isso, faço com que seja branco. Talvez fazê-lo sair. Você sempre pode dragar seus próprios fundos. Se você gosta, você pode torná-lo o melhor ajuste, por isso será maior do que isso e provavelmente quer ficar. Isso pode estar no conjunto inferior ou no centro superior. Quer para a direita? Só que todo veneno, como desde a pontuação geralmente pode ser bastante grande em números porque, como você viu, podemos ser maiores que 100.000. Só precisamos manter isso ou manter o controle disso também. Por exemplo, só
podemos colocar um número aqui sem qualquer texto que possamos também pagar. Coloque uma quebra de linha. Eles também iam dizer que estamos. Você faz isso lá em cima, então não está nos distraindo muito ou talvez acima do alcance ou onde quer que gostemos
mais uma vez de outra decisão de design completamente por conta própria. O que eu quero dizer com isso? Vamos supor que digitamos e pontuamos cólon, e então vamos adicionar, tipo 10 ou, digamos, sete números. Alguns zeros. 1234512345 Então temos 10 números agora. Talvez não uma pontuação, que é realmente alcançável. Mas o que? Precisamos ter certeza de que nosso campo será grande o suficiente para todos esses números. E eles não se esticam completamente por aqui e vão para dois D view E para selecionar esta ferramenta V deste retal real selecionar essa porta e pedir que eu agora posso arrastar ao redor para a direita, a esquerda. Tudo não é vara para a esquerda, que é bom agora, já que eu sei. Ok, esta pode ser a oferta de tamanho aqui e provavelmente não temos um milhão de pontos. Na verdade, temos o máximo de 900 ou nove milhões. 99 então este pode ser um bom tamanho aqui. Além disso, dependendo de quão grande isso é, você provavelmente vai querer ver onde eu quero colocar isso. Mas acho que isso não é sobre isso. Ah, aqui. Ponto de seu, como, centrado a este ponto e reivindicado para a direita mais uma vez, ou realmente ancorado. Então isso é ancorar isto à direita primeiro. Então, desligue a âncora. Isso é certo. E agora nos vestimos arrastá-lo mais uma vez. Então, mais uma vez. Certifique-se de que não está no campo de jogo. Então o jogador tem espaço suficiente para, você sabe, jogar o jogo. Se é para sentir para um enorme torná-lo menor apenas, você sabe, como este. mesmo para os outros. Vamos precisar de outro para o nível. Talvez assim. Eu apenas duplicado este texto e trazer a pedra, e precisamos de um agora tem outro para camadas limpas. Normalmente há algo como Rose limpo, mas isso é uma multa. Não nos importamos muito com isso. Então aqui, eu sou todos os tipos em algo como dois pontos de nível e, em seguida, um número, ou este é apenas o nosso texto de nível primeiro e aqui dentro. Eu tenho que colocar no nível de cólon, e então o nível em que estamos atualmente. Talvez queiras fazer este nível um pouco maior. Ambos mais uma vez, totalmente com você. No entanto, você quer gerenciar que, por exemplo, você pode um direto isso uma parte dele, por isso é um pouco mais proeminente. Você também pode centralizar isso porque mais de 10 níveis não estão em um jogo Tetris de qualquer maneira, Então, podemos, por exemplo, torná-lo para que este texto sempre, mesmo que seja apenas um nível um. Nós colocamos algo como 01 Então nós sempre temos este tamanho completo correto. Nesse caso, também
podemos centralizar o texto e trazer isso, Tomá-lo ou mantê-lo lá mais uma vez, um monte de decisões de design completamente até você. E então fazemos algo como camadas de cólon e, em seguida, algo como talvez 10.000 ou até mais. Mais uma vez, este número não pode ser superior a um milhão aqui. Mas isso já leva algum tempo. Então nós temos essa quantidade fora camadas limpas esta quantidade de pontuação com base nas camadas limpas e, claro, o nível que podemos ver agora. Então, o passo final é que precisamos criar alguns pontos de conexão para esses três elementos de texto para atualizar tudo de acordo.
52. #52 UI Update: Bem-vindo de volta ao curso nesta parte. Quero criar a conexão com esses campos de texto e atualizá-los de acordo. Temos de criar um guião para isso. Vou criar um novo script de apreensão. Eu cuido, este encarregado só cuida. Interface de usuário coisas como nível de pontuação em campos de texto. Não precisamos de mais nada disso. Apenas para este dedo do pé, atualize o texto da pontuação de acordo. Abra este em mono desenvolvimento ou estúdio vicioso. Uma vez que eu abram, você só pode se livrar. Iniciando a atualização, já que não os usamos ou precisamos deles. Bem, ele precisa ter é uma conexão com todos esses campos de impostos re. Então eles precisam ser públicos fora do tipo de texto. Como pode ver, texto não está na minha lista. Isso significa que precisamos trazer o motor da unidade, não é? Eu nomeio espaço. Não posso simplesmente acertar. Clique rápido, corrija a unidade. E em não fazer I Se você não tem isso por qualquer motivo, você também pode digitar aqui usando o motor de unidade ponto You I Então você tem acesso a elementos de texto agora? Damos um nome, texto
de pontuação. E também precisamos dos elementos de texto para o nível e para as camadas que realmente
cumprimos ou realmente em nosso jogo. Então este vai ser o texto nivelado, e o último também é um texto público. Neste caso, vai ser o nosso texto de camadas. Então, quantas camadas limpámos? Agora? Temos de actualizar isto. De acordo com o valor da pontuação, o nível de texto ou valor do nível é, bem como o texto da camada. Mais uma vez, vamos ligar até tarde do gerente do jogo. E para fazer isso, nós, é
claro, mais
uma vez precisamos criar uma instância estética pública fora do seu eu manipulador tão
estática pública . Você, eu manipulador instância e era, digamos, branco ,
acordado, aberto, perto parênteses. E aqui dizemos exemplo, é igual a isso para que possamos falar com isso facilmente. Não, só escrevemos uma função aqui. O que isso significa é mais uma vez nós apenas dizer ponto público, nós nomeá-lo, talvez atualizar você I ou texto. E agora precisamos colocar todas as informações que teremos dentro do gerente do jogo. O que significa que precisamos ter algo como pontuação final? Assim, a pontuação de entrada ou a pontuação que calculamos dentro do gerenciador de jogo, o texto de nível ou o nível que já temos no jogo e nível final de Jessel. E, finalmente, precisamos ter as camadas que limpamos em camadas. Portanto, essas três informações não precisam ser atualizadas por nós e precisam ser enviadas dentro ou para o texto da partitura. Então, vamos dizer o texto da pontuação. O texto é igual a pontuação. Não encadeie e abra parênteses,
mas na frente, mas na frente, fora do placar, nós queremos ter uma string já. Então dizemos marcar espaço de cólon. E depois do cólon ou não. Depois da citação, vamos colocar um “plus”. Então agora ele está digitando em partitura deixa um espaço. E então ele adiciona essa pontuação de entrada, que é convertida em uma string. O mesmo para o texto de nível. Portanto, o texto é igual ao espaço de dois pontos de nível, além de qualquer nível que seja pensado para
encadear portas abertas, parênteses, fechar. A linha era um ponto e vírgula e a última mais uma vez é camadas, então camadas tributadas, não texto. É igual a aspas,
camadas, camadas, espaço
de dois pontos mais camadas ponto para uma força. Se você quiser realmente ter certeza de que você só vê dois números. Sempre ver dois números já explicou na parte do nível, podemos acabar com isso. Parênteses. Coloque duas aspas e coloque em D dois e dois significa decimal dois, que está dentro da biblioteca dotnet. Você pode conferir. A. Provavelmente o seu I d vai mostrá-lo para você. Para mim, infelizmente, não. Mas isso é OK para que você possa fazer um Severin de diferentes formatos usando algo dentro de aspas . Então, quatro pontos. Provavelmente queremos sempre assentar nove números. Então, contra um tour decimal de entre aspas aqui. O mesmo. Então nós sempre vemos nove números em camadas, nove números em pontuação e dois números em níveis. É isso. Não se esqueça de proteger seu manipulador, e vamos para a nossa tela. Eu quero ter certeza de trazer o u eu manuseá-lo para a tela porque a tela sempre tem a conexão com todos esses textos. Vou nomear este aqui duas camadas de texto porque quero ter certeza de que tenho tudo. Mande mais tarde. Corretamente Então aqui eu tenho a conexão. Agora eu arrasto camadas texanas nível de texto pontuação, texto para esses slots para obtê-los atualizados de acordo. Nível de contexto, tanques ,
camadas, texto e estamos prontos. Agora, sempre que pressionamos play, precisamos ter certeza de que estes se tornem nossos atualizados na primeira execução. Nesse caso, precisamos ir a um gerenciador de jogos para o nosso acordado ou mesmo começar a perdê-lo e atualizar tudo acordo. Então, nesse caso, primeiro precisamos calcular o nível. Então, no que fazemos é dizer branco, começar aberto, fechar parênteses e chaves. Vamos atualizar tudo de acordo. Além disso, precisamos chamar a atualização que você olho. Então nós dizemos que você eu manipulador não instância, não atualizá-lo. Eu abri aqueles parênteses e perto de nove foi um semi dois-pontos e começar. Chamamos, definimos, pontuamos, fechamos parênteses e fechamos a linha era um ponto semi cólon. Aqui acabamos de passar na pontuação e isso é tudo o que precisamos fazer e uma atualização. Você eu quero atualizar como tudo o que precisamos atualizar sobre isso. Então a primeira pontuação passen em segundo lugar vai ser nível e a última é as camadas limpas. Não te esqueças de estar seguro. Vamos ver se o compilador tem algum problema foi que não parece assim. E sempre que
pressionamos play, devemos ver que estamos na pontuação de uma hora é atualizado para 2000 e nossas camadas
também estão caindo da rosa. Agora devemos ser capazes de jogar testadores completamente.
53. #53 UI Update do FallTime: Bem-vindo de volta ao curso nesta parte. Eu quero fazer um toque final para nossos blocos Tetris diretamente e eu quero propostas. A Blanka. Decidimos ter um período de folga integral por um segundo. Mas desde que nós re calcular o tempo integral dentro do nosso gerenciador de jogo cada vez que vamos
ter uma pontuação diferente ou com base no nível que queríamos ter certeza de que este tempo
inteiro ou velocidade total é realmente lê-lo de qualquer bloco Tetris, que vai se tornar gerada. Nesse caso, Depois de terminarmos com a configuração das entradas de botão e coisas assim, queremos também atualizar em tempo integral. Nesse caso, vamos definir tempo integral para ser igual a instância de ponto do gerenciador de jogo. Não leia a quarta velocidade e as fantasias da garota aberta. Agora sentamos em tempo integral automaticamente toda vez que um novo bloco de tesouros responder de acordo com o
que o gerente de jogo co calculado, tempo
integral ou quatro velocidades vai estar aqui. Mais uma vez, devemos realmente apenas retornar este número a partir desta função particular de um dia. Então agora sempre que nós, é
claro, salvamos o roteiro e começamos a jogar o jogo cada bloco Ted Rose está lendo a
quantidade correta . O número correto. Uma segunda semente é criada e leva três segundos agora até cair pelo menos uma vez. Isso é bom, porque agora é deter minado, com base no nível quão rápido esses blocos estão caindo mais tarde, sempre que estamos no nível mais alto fora do curso, queremos ter certeza de que isso vai ser você pode pré calculado ou re calculado. Isso já está acontecendo sempre que estamos atualizando a pontuação. Então, nesse caso, o jogador, sempre que ele é um novo jogador, tem a possibilidade de aprender o jogo primeiro. Então nós damos a eles a possibilidade de fazer tudo isso, aumentar a pontuação com base nas camadas que ele vai ser capaz de limpar, e então ele pode atualizar tudo de acordo. Vou acelerar o processo um pouco e intencional para pelo menos uma camada. Então, somos capazes de verificar se todo o nosso casaco está indo trabalhar como queremos ter certeza de que nossos scripts estão funcionando e as outras coisas também. Agora devemos atualizar a camada. Sempre que preenchemos um lá, devemos ser atualizados nível ou as camadas para ser um. E o placar deve ser 400. Vamos ver se isso funciona. Posso ver que a pontuação é atualizada, mas não atualizamos camadas. Então o que precisamos fazer é realmente atualizar essas camadas. Bem, para fazer isso, vamos voltar para um necrotério. Um script de gerente. Temos que atualizar o Y no final. Bem, então nesse caso, sempre que isso acontecer, sempre que tivermos limpado a camada, vamos chamar o mesmo que fazemos no set score. Então eu me chamei dessa linha aqui, e então aqui nós dizemos “Dia do braço”. Eu, instância de
manipulador, não atualizo ey por nível de pontuação e camadas limpas como alguns toques finais. Você também pode ir para o pré fabs para a pré-visualização e certifique-se de que todos fora dos
pontos de pivô fora, as rotações vão ser. No entanto você gosta deles, por exemplo, para os LPs Prevue. Talvez queira verificar o ponto de rotação neste caso. Meu ponto de irritação é aqui. Talvez para o prevalecer, é melhor estar aqui no meio para fazê-lo. Só pegamos os cubos, arrastamos como aqui. Então, sempre que estamos girando agora, o L está girando sobre seu verdadeiro centro de paz ano longo. Uma vez que você está feito foi para baixo. Aplique as alterações na pré-fabricada e você está pronto para ir. Era que eu ia fazer o mesmo ou algo parecido com o Opie? Porque no momento é como balançar ao redor para o local e não está realmente girando em torno do centro para essa peça. Eu iria e traria o ponto de pivô aqui. Nesse caso, pegar todos esses cubos traz um para a direita para baixo. E agora eu preciso ir para o mesmo para o lado. Então eu preciso trazê-los todos Ah, metade na frente assim. Então, mais uma vez, fazer tudo isso estalado. Sempre que você está girando este agora, ele está girando em torno de seu centro real. Não se esqueça de aplicar as mudanças, e estou pronto para ir com isso. Os outros são mais propensos, como se eu quisesse vê-los mais uma vez. Se você não gosta do ponto de pivô neste CPS aqui, você também pode trazer isso em qualquer outro lugar como aqui pela crença que isso vai ser um bom esporte para isso. Ou você também pode tomar isso como um esporte daqui. Então, ou neste caso, ali, para que ele possa girá-lo diretamente em torno do local como já fazemos com a paz pro Proview ali. Mais uma vez, você sempre pode conferir. Segure essas peças vão olhar e então estamos prontos para ir com isso. Não se esqueça de salvar sua cena. Você fez grandes mudanças e então podemos seguir em frente.
54. #54 GameOver: Bem-vindo de volta ao curso nesta parte. Quero falar sobre o fim do jogo. O que significa game over é que sempre que não podemos colocar um novo no início, sempre que ele é basicamente criado, queremos ter certeza de que enviamos uma mensagem ou algo é muito capaz para nossos gerenciadores de jogo . Então o motor do jogo está bem. É game over, foram incapazes de se mover, e também não queremos gerar ainda mais blocos Tetris no final. Então vamos adorar a estrutura para isso primeiro em nosso jogo. Gerente, talvez
queiramos criar um touro para isso. Então o jogo de touro acabou. E, claro, no básico de Barre, vai ser força que você não precisa necessariamente colocar em força igual, porque sempre que ele começa, ele será definido para ser falhas automaticamente. Agora precisamos ter algum ponto excessivo para ler se o jogo acabou ou não. Nesse caso, basicamente você devolve o touro como já fizemos. Onde está a velocidade máxima de leitura, por exemplo? Então vamos criar que, no primeiro momento, precisamos de excesso de pontos. O primeiro 1 é que queremos definir o jogo acabou e queremos ler o jogo acabou para que possamos fazer uso fora dos centros e nos pegar se quisermos, ou nós apenas criamos para funções únicas aqui. Então, primeiro retorno público ou jogo de leitura acabou, e então nós só aqui dentro. Voltar. O jogo acabou, mas sem os Prentice, então devolvemos a essa altura. Além disso, precisamos ter mais uma vez uma conexão para acabar o jogo para que possamos dizer que o jogo de set público
acabou . Sempre que chamamos essa função, queremos ter certeza de que a definimos para ser igual ao fim do jogo dele. Claro, há o autotipo Voight. Caso contrário
, não faz sentido. E aqui nós definimos que o jogo acabou é igual demais verdadeiro. Não se esqueça de salvar o roteiro, e vamos voltar para o bloco Tetris. O bloco Tetris está na primeira vez, claro, é
claro,vai começar e gerar um novo bloco dentro de um tempo. Eles olham, enquanto isso, está caindo sempre que pode, significa. Sempre que há ataque Novell, Orvella se move mais, podemos basicamente fazer o mesmo. Verifique se ele começa. Então, se, bem, ele se mover, começar depois de termos feito tudo o resto e configurar todos os singles. Se ainda não temos nenhum movimento desenvolvido, então podemos dizer,
OK, OK, o jogo acabou porque somos incapazes de fazer Elop Move para nunca. Temos insanidade para podermos falar com o jogo terminado. Não instância do Joe. Não definir o jogo acabou. Também aqui, sempre que terminarmos com isso, se não houver mais jogada válida e costumávamos fazer isso Jack ou gerar um novo, queremos ter certeza de que verificamos se o jogo já acabou ou não, porque ambos estão trabalhando de mãos dadas. Então nós apenas aqui, certifique-se de que nós só gerou um novo bloco quando o jogo não acabou. Caso contrário, não
funcionaria neste caso. Então vamos colocar outra declaração “se”. Então, se o jogo de instância de pensamento gerenciador de
jogo não ler, jogo over ou ler jogo acabou. Isso retorna verdadeiro então, ou neste caso, se ele não está voltando, então ele vai ser falso neste caso, então ele não retorna através. Queremos ter certeza de que somos capazes de gerar o novo bloco. Vamos testá-lo. Vamos entrar na unidade. Não se esqueça de salvar tudo na execução do compilador até que esteja pronto. E vamos pressionar “play”. O que eu faria é acelerar todos eles até que eu não seja capaz de fazer
mais nada . Como você pode ver, levou duas peças para realmente obter o jogo dito para ser, Não acabou e a próxima peça seria apenas isso. Mas, na verdade, não é possível. Bem, para fazer qualquer outra coisa neste momento. Além disso, sempre que estivermos configurando o jogo no gerenciador de jogos, também
podemos começar algo como uma animação ou o que quisermos representar que o jogo acabou. Então, nesse caso nós provavelmente podemos ir e criar, um numerador I, que vai fazer alguma ação baseada em tempo, e no final, vamos mostrar alguma interface de usuário. Vamos fazer coisas assim no próximo vídeo
55. #55 de janela: Bem-vindo de volta ao curso nesta parte. Eu quero criar um jogo simples sobre a tela onde novamente em que podemos realmente mostrar. Sempre que fora do curso, vamos nos tornar game over mais tarde. Você pode querer Dio anima mais difícil Fazer algumas animações extravagantes como preencher toda essa grade
completa foi blocos de cima para baixo ou de baixo para cima algo Teoh mostrar que o jogador não é capaz de fazer nada mais para criar este jogo sobre a tela, vamos para a nossa tela e aqui eu quero criar uma nova imagem. Então esta imagem é basicamente eu quero espaço reservado, bem como o nosso item de bloco de raios elenco. Então, nesse caso, vamos até você por imagem E eu quero ter certeza de que isso é completamente espalhá-lo sobre o campo de jogo
completo e está acima de tudo o resto. Então esta imagem vai ser o nosso ganho sobre a janela ou algo assim. Então, este é o que vamos atrasar para ativar sempre que perdermos, e então mostramos. Quero que este espalhe. Então eu segurei a chave antiga e selecionei esta pequena janela aqui. Além disso, eu quero entrar para trazer este aqui, talvez para ser um super vazio e eu quero reduzir um pouco elfo para que ainda possamos ver através dele. Mas bem, não tanto quanto antes. Então, como você pode ver, agora
é um pouco transparente e coloca sobre tudo o resto porque está no fundo
da nossa Candace. O que eu também quero fazer é fazer outra janela no centro onde vamos ter,
tipo, tipo, game over, e com eles vamos mostrar o placar. Se você não quiser ter uma janela, você também pode deixá-lo como está e apenas trazer em um grande jogo sobretaxado para o centro. Então, tudo isso, mais
uma vez, depende de você. Talvez você também queira colocar alguns botões ao lado dele, como sob ele algo como jogar novamente ou voltar ao menu ou o que for. Então eu tenho que ir e fazer um muito fácil, já que eu acho que nós não precisamos fazer muito lá porque nós vemos a pontuação real. Temos Regis Wells, o nível nas camadas à direita, então talvez vamos fazer um grande texto vermelho aqui no centro. Então o jogo acabou e então estamos prontos para ir e eu faço um rato Torná-lo ousado. Torná-lo o melhor ajuste. Então ele se encaixa. Sempre amianto. Meu campo de texto vai torná-lo no centro? Talvez você diga algo como o fim do jogo. Então, e eu quero fazer isso para que seja um pouco maior. Vá para rebaixar ferramenta destruída e para arrastá-lo quanto e quão grande eu quero. Se isso não é grande o suficiente para você, você sempre pode ir e, ah, fazer o melhor ajuste. Tamanho máximo para ser, digamos, 60. Então é ainda maior, maior e mais representar aqui ou na prisão. E então você pode querer ir para o centro, este aqui. Então todo mundo sabe. Oh, droga, eu estou game over. Eles iam fazer essa visão geral. Não conhecemos negros, mas ratos. Então é ainda mais presente. Então o jogador realmente sabe. Oh, meu Deus. Eu não consegui. Talvez não, demais. Mas queremos ter uma diferença entre a janela de jogo real ou as coisas de jogo. Termine o nosso jogo sobre a tela mais uma vez. O que também podemos fazer é criar um botão para, como, simples, voltar ao menu ou replay. Então, nesse caso, vamos até você. Por que botão, quando dizemos que algo assim é o nosso botão de volta da web? Então voltamos para o menu e, claro, queremos fazer algum texto aqui algo como também voltar ao menu. E talvez eu faça um símbolo. Você também pode fazer uso de imagens. Você pode usar o que quiser, e nós vamos garantir que arrastamos o botão em algum lugar no centro como se pudéssemos ver onde ele vai estar. Mais uma vez, se você quiser ter botão de repetição, você é absolutamente capaz de fazer este ano também. Eu quero ter certeza que meu Texas vai ser todo o texto no botão é um super preto e negrito, bem, para que ele possa ser visto muito bom. Também pode querer aumentar o tamanho do botão um pouco mais por isso é fácil de tocar também este texto que eu poderia querer ir com o melhor ajuste aqui, mas também eu quero ter certeza de que isso não é muito como ele não está indo acima da fronteira e ele ainda vai ser centrado e está tudo escrito em uma linha. Mais uma vez, você também pode fazer um botão de repetição aqui. Então, já que não temos um menu, não vamos Teoh criar o script para isso agora. Mas queremos ter certeza de que somos capazes de ativar o jogo sobre a janela. E para fazer isso, precisamos entrar em um jogo e apenas agarrar e conectar essa janela para que não possamos realmente mostrar isso. Além disso, queremos ter certeza de que bloqueamos a luz na entrada sobre ou atirámos esta
imagem em particular, sim, aqui. Então normalmente devemos ser capazes de usar algo que é chamado como uma tela grelhada. E aqui devemos ser capazes de bloquear taxas de conversão quando esta janela estiver ativa. Vamos testar se somos capazes de arrastar coisas como você pode ver minha câmera ainda ativa. Mas eu não posso fazer nenhum interruptor aqui. Eu não posso pressionar esses dois botões como velocidade para baixo e interruptor. Tudo bem, então podemos desativar a câmera mais tarde. Se gostamos de Teoh, então não somos capazes de girar ao redor. Mas na verdade não importa, desde que sejamos capazes de pressionar o
botão de trás para Menu , e isso é o que queremos neste ponto em particular. Mais uma vez, quando terminamos o jogo, também
podemos definir esta janela para ser ou o script da câmera alvo da câmera. Podemos simplesmente desativar isso sempre que terminarmos com isso, ou dar alguma rotação automatizada ou o que quer que coloquemos, como mais uma vez, totalmente até nós. Além disso, não
devemos ser capazes de tocar em nenhum desses botões voando por aqui para mover qualquer
coisa mais longe. Isso é bom. Então agora temos um jogo em cima da sua janela aqui, e eu iria ao nosso jogo em cima de uma cena ali. Precisamos criar uma conexão para nós com o nosso jogo de eixo sobre a janela. Então nós criamos seu objeto de jogo público e chamamos este jogo de fim. A janela era um grande era um pequeno G aqui. Agora, sempre que estamos game over, como sempre que chamamos esta função com dito Game over vai ser igual a true, vamos definir jogo sobre janela, não triste ativo para ser verdade. Também no início, apenas no caso de querermos definir este para ser igual à força. Então, a princípio, vamos definir esta janela para ser igual à força. Então não vemos isso sempre que começamos o jogo. Mas quando acabarmos o jogo, queremos ativá-lo. Não se esqueça de salvar o script. E agora vamos ao nosso gerente de jogo. Depois vamos ao nosso jogo por cima da janela e colocamos isto aqui. A maneira mais eficiente provavelmente vai conectá-lo à tela para o nosso manipulador você eu. Então nós enviamos uma informação para o manipulador U. N e dizemos que queremos mostrar o jogo sobre a janela a partir desse ponto. Talvez seja sobre uma escolha, mas vamos testar se funciona por enquanto. Então, como você pode ver, o jogo de uma janela é realmente desativado, nós somos capazes de perder. E como podem ver, uma vez que terminamos tudo isso, já
perdemos. Então só podemos voltar ao menu. Mas não podemos fazer nada além de nos movermos. Isso é funcionalidade. Bastante bom. Então, mais uma vez, para manter tudo de acordo com qualquer teste de hoje, vamos ter que colocar este parceiro completo dentro da UE eu manipulador, que pode ser uma maneira mais adequada, melhor ou melhor de lidar com isso. Então, já que temos conexões e aqui já, vamos ao nosso gerente de jogo mais uma vez, pegamos essa janela de jogo de objetos públicos e simplesmente cortamos. Traga isso aqui, tire essa funcionalidade. Também tire a funcionalidade disso. Não se esqueça de proteger o gerente do jogo e aqui, vamos criar para funcionar. Então primeiro início vazio e jogo set de um ponto janela disse Active Toby False a partir daqui. Então nós mantemos tudo sobre você eu dentro do manipulador branco e agora nós precisamos ter outra função
excessiva para ativar a janela. Então Boyd público colocou jogo sobre janela ou algo assim. Então, nesse caso, nós apenas ativamos isso, ou nós também podemos dizer, Ativar jogo sobre janela. Talvez seja um nome melhor. Ativar. E aqui, sempre que essa função é chamada, dizemos jogo sobre janela. Isso teve ativo para ser verdade. E o passo final do gerente do jogo é não chamar. Ativar jogo sobre janela Então, sempre que o jogo acabar, vamos dizer que você eu manipulador, por exemplo, ponto Ativar jogo sobre protetores de janelas, parênteses e fechar a linha era um semi dois-pontos. Não se esqueça de dizer o jogo e não se esqueça de salvar o seu manipulador e vamos voltar para a tela. Agora deixe o compilador executar e veja se há algum problema. E agora podemos arrastar o jogo pela janela diretamente aqui na tela UI. Porque a tela mais uma vez mantém toda a conexão. Não precisamos cuidar disso do gerente do jogo. Esta é uma maneira melhor prática, então mantenha tudo nos esportes onde ele tem que estar. Agora podemos testá-lo. Mais uma vez. O U I Hang Glashow Deac dividido No início. Vamos acelerar várias vezes. Perdemos, mas o gerente do jogo meio tarde. Reiko organiza que já acabamos de jogar, mas ainda faz o trabalho, e é isso que você quer aqui
56. #56 cena de menu: Bem-vindos de volta ao curso. Agora, já que estamos basicamente feitos com o design completo do jogo, nós também podemos ir e criar um homem sua cena. A cena do menu seria apenas Então o que o jogo é sobre. Provavelmente dê-nos uma jogada agora, Botão. E depois vamos para este daqui em diante. Podemos voltar ao menu ou até mesmo repetir uma rodada, se quisermos. Para isso, temos curso. Vá para o arquivo. Assento novo. Isto vai ser apenas um visto vazio. Nós podemos projetá-lo para o que quisermos e gostamos, colocar em qualquer você I elementos que vamos gostar e assim por diante. E assim força. Então, nesse caso, eu vou criar talvez algum texto e dar-lhe apenas um nome algo que pode ser o nome do nosso jogo. Isso é um bloco três D ou algo assim. Você pode fazer da cor que quiser. Você pode, você sabe, 10 coisas. Você pode fazer qualquer forma. Você gosta que você pode até mesmo trazer em qualquer gráficos que você
gosta, Como screenshots do jogo. Seja qual for. Ou talvez você possa fazer algo em segundo plano como mover pertence, animá-los e assim por diante e assim por diante e assim força. Então nós vamos ter um bloco três D como nosso título. Você sempre pode entrar para renomear os elementos de texto a serem intitulados texto ou algo assim. Mais uma vez, não se esqueça de manter tudo limpo e organizado, então todo mundo, quem quer que vá trabalhar com você e um projeto sabe do que as coisas vão ser . Vou mudar a câmera aqui para ser algo como, sei lá, falta de branco ou algo assim. Raladores. E quero ter certeza de que só uso cores sólidas. Se você quiser fazer uso de alguns de seus blocos dentro do nosso jogo aqui, você pode simplesmente fazer isso. Então o que precisamos fazer é localizar na câmera e ir a uma prefeitura cheia. E podemos, por exemplo, fazer uso destes Prevue aqui. Então poderíamos, por exemplo, direcioná-los para cá. Zero este fora. Então, nós os vemos ali. Talvez um fundo branco traseiro não seja uma boa idéia para isso. Então talvez torná-lo um pouco mais acinzentado ou o que você quiser em como você também pode colocar alguns grandes gráficos em segundo plano. Vou mostrar isso em apenas um segundo. E então você pode apenas colocar bem, não a câmera que talvez esta prevaleça aqui tarde. Talvez um quarteirão neste ponto em que eu levei L para o canto direito da minha câmera
aqui . Talvez uma arma em levar Ah, esta peça mas a prevalecer um porque há uma rotação. Não se esqueça disso. Traga isso aqui e talvez outro bloco T ou algo assim, que também vai ser do tipo bloco reviewable e vai trazer isso no outro canto mais
uma vez, certifique-se que eles estão todos no mesmo eixo Zad ou provavelmente em torno do mesmo s Você tem que fazer. Vou sair para rebaixar para ver onde eles estão localizados. Sim, este aqui também precisa estar no zero. E talvez a partir de mais uma vez, os dois modos D ou dois D vista. Vou trazer esta prévia aqui, para o canto, também na minha tela. Eu quero criar um botão para jogar o jogo, então eu vou até você. Eu botão e como você pode ver eu posso colocar isso onde eu quiser sem relação com esses três
objetos D. Vamos dá-lo a algum texto, talvez tocar, e podemos redimensioná-lo de acordo com as nossas necessidades. Também podemos assistir a isso. Claro que não conseguiremos direcionar a ferramenta para ter um acesso mais fácil lá. Talvez façamos algo assim. Talvez centralize isto ou traga isto para baixo. Se você tem mais em gráficos intensos, uma vez, tudo isso até o seu conteúdo completamente este botão, se você quiser, você pode redesenhar isso para ser um texto bola, talvez para destacá-lo ser ainda pouco mais. Talvez nós vamos aumentar o tamanho do formulário aqui ou nós apenas fazemos Foi o melhor ajuste um e apenas reduzir os ataques elemento lá também. Então e agora só precisamos adicionar a funcionalidade para o botão play e mais tarde, também a funcionalidade de volta para o outro botão ali. Nesse caso, vamos criar um pequeno script que está cuidando apenas das coisas do menu, como botões pressionados. Então nós criamos você c script afiado chamado Menu Hendler ou algo assim. E este cardápio fora do curso vai sentar para nós aqui no campus porque ele
cuida disso. Eu apenas arrastá-lo para ele e clique duas vezes para abrir e um de desenvolvedor, estúdio
vicioso. Agora só precisamos Teoh implementar o sistema de gerenciamento para os botões. Uma vez aberto, vamos nos livrar de começar a atualização porque não precisamos deles. Só precisamos criar uma função excessiva para carregar as cenas corretas. Nesse caso, podemos dizer usando o motor unidade ponto visto gerenciamento. Então isso vai ser ou nomear espaço que precisamos usar aqui. E, em seguida, criamos uma função pública Boyd carga visto. Nós não podemos colocar, por exemplo, uma string aqui ou em Integra como o inteiro fora do índice construído em nosso jogo. Vou fazer uma corda porque é mais fácil. Então é o nome da cena ou visto para carregar. Seja qual for o nome, talvez pareça carregar. É uma melhor. Então visto para carregar e nós no botão podemos apenas definir o que parecem querer carregar. E agora dizemos ao gerente de cena para carregá-lo. Então veja gerente ponto cena carga, e agora podemos apenas dizer qual deles queremos carregar. Vai ser a cena para carregar. Não se esqueça de salvar, e isso é basicamente visto para o botão. Handley. Agora podemos fazer uso disso a partir de qualquer lugar porque só precisamos ter certeza de que está
em qualquer lugar na cena. Então este botão aqui agora recebe um evento on click. Nós arrastamos nossa tela para ele e ir para o menu Manipulador segue. Carrega cena, e então ele vai dizer algo como Game. Já que não temos um jogo visto ainda, vamos mudar o nome das cenas atuais. No momento, só
temos a amostra vista. Então eu renomeei este jogo 12. E também quero dizer que esta cena em particular, então eu digo,cena
segura, cena
segura, vá para a minha pasta de cenas e diga: “ Estes são os meus homens, você vê bem. Então já temos o menu visto. Seguro, aqui. Então, este botão não vai carregar a cena do jogo, e, finalmente, precisamos ter certeza de que vamos construir configurações e adicionar cenas abertas. Certifique-se de que o menu está acima do jogo. Se você tem algo como uma tela local ou algo semelhante. Você pode absolutamente nisso aqui também. E alguns outros passos podem ser você poderia colocar alguns direitos autorais tributados aqui como trazidos a você por quem quer que seja. Então, nesse caso, vamos criar no seu campo de texto e levar isso para algum lugar. Você também pode colocar em um número de versão e todas as outras coisas. Então vamos para você, Eu texto vai fazer este também parafuso e digite o meu texto, porexemplo, exemplo, direitos autorais por octo homem ou de sempre qualquer que seja o seu site é, Por
exemplo, jogos
ótimos ponto com. Agora você se certifica de que tudo é legível e redimensionável automaticamente. Talvez você queira fazer um centro e então você está pronto para ir, e então você vai levar isso para qualquer posição que você quiser ver. Isto pode, é
claro, para os tanques para ir para torná-lo branco alugar azul. O que quer que o seu jogo representa aqui também pode colocar no seu logotipo e todas as outras informações
necessárias sobre o jogo em si. Não se esqueça de estar seguro sempre que pressionamos play. Agora devemos ver quatro blocos rotativos aqui como ele pode também dizer que este redimensionado para ser errado. E isso está acontecendo porque nós não definimos nossa tela para ser Escala era tamanho da tela. Como você pode ver, este é o verdadeiro. Portanto, não há necessidade de re habilidade algumas coisas, porque nos esquecemos de configurar isso em conformidade. Eu vou fazer isso para que eu, X realmente faça o tamanho desse texto maior mais uma vez,
centralizá-lo para fora. Você sempre pode entrar para fazer o botão dele maior Se eu gosto de uma reposição meu link ao longo do ano ou meu pequeno texto lá vai fazer um tamanho divertido, Talvez seja maior. Então, mais uma vez se encaixa no meu design. Se eu gosto de impressionar jogando, confira para obter eu não consigo ver É muito mais proeminente vai ter o nosso botão de jogo
aqui sempre que pressionamos jogar todos os jogos começa e agora somos capazes de jogar o jogo eo último passo para finalizar que Voltamos ao nosso jogo. Ah, cara, você é uma cena de jogo. Nós salvamos a cena e aqui por duas horas de volta para muitos de botão. Temos de ter a certeza de que vamos carregar o menu correcto. Você pode colocar isso também na tela aqui. Mas os scripts, Manu Handler, você também pode colocar isso no botão, a
propósito, então não importa onde o menu infinito. E em um tempo voltar botão, vamos ter certeza de que dizemos mais arrastar sobre tela vai. Papai está cuidando de tudo isso. Ir para o manipulador de menu, carregar cena e aqui queremos saquear o menu que entrou para aplicar. Não se esqueça de salvar sua cena. E agora vamos voltar para a nossa outra cena para o nosso menu visto. Então eu vou para o menu de cenas clique duas vezes para abrir a imprensa play. Jogue o jogo. Vamos perder muito rápido. Volte para o menu e lá vamos nós. Agora você tem um fluxo de trabalho Raza Sollett ano. Dentro do jogo, você vê um jogo supervisionado ou tela. Você vai ver o ponto a marcar. Você vai para pronto, bem como você é capaz de voltar para o menu. Mais uma vez, todas as decisões de design estão completamente por conta própria. Você vai ter que cuidar disso. Você pode até fazer algumas coisas extravagantes, como pegar um único cubo aqui e fazer três anos legais olhando blocos de texto
lá com apenas, você sabe, algo assim. Então B vai ser um aumento. Um dos grandes. Você pode querer fazer isso um pouco menor fora do curso, e então você pode até girar. Você pode animar. Você pode fazer o que quiser e por favor.
57. #57 Agradecemos: Então você se torna um sucesso em completar o curso completo, e eu quero agradecer-lhe no primeiro a fazer este curso, e espero que você tenha aprendido muito. Vamos fazer uma conclusão rápida. O que você aprendeu até agora, você aprendeu a criar seu próprio menu, mesmo com apenas um básico. Um cardápio simples. Você estava aprendendo a girar três objetos D como ao longo do tempo, você estava aprendendo a conectar cenas umas às outras, simplesmente carregando-as. Você estava aprendendo a interagir com a câmera ou onde criou uma configuração da câmera. Você criou tudo sobre o jogo, como Onde nós geramos esses objetos? Nós vamos criar esses blocos fantasmas, que estão representando e verificando se há uma posição válida para colocar em você vai. Estamos aprendendo como falar essas coisas, é
claro, e como limpar camadas, pontos de
presente e nível de pontuação e camadas serão. Eu contei e assim por diante, e assim forçar você estava aprendendo a criar um jogo supervisionado como este com
interação de botão . Além disso, você aprendeu a desativar esses botões aqui em segundo plano. Você está fora do curso. Ainda tem a possibilidade de olhar em volta? Provavelmente vamos manter isto neste momento. Se não apenas um desativado, o script na câmera, nenhum problema em tudo. Você deve saber como isso vai funcionar sem problemas. E também criamos esta privada aqui, que não é visível no nosso jogo apenas bloqueando as informações por trás de algum tipo de guerra. E isso é praticamente tudo o que vamos ter aprendido neste. E provavelmente há algumas pequenas coisas que você aprendeu também. Como falar com instâncias fora de outros scripts sem ter muito aborrecimento e encontrar objetos de
jogo e coisas assim. Não, já
conversamos dois. Instância Yak scripts, que estão apenas assinando para si mesmos e dizer, Ei, eu sou esta instância particular e o grupo de Annie pode acessar qualquer outro script sem qualquer problema. Com esse conhecimento, você provavelmente pode ser um criar ainda melhor, jogos
ainda mais avançados, porque o processo e os princípios estão indo dedo do pé maior parte do tempo permanece o mesmo. Então vá para o mundo agora mesmo. Certifique-se de lançar este jogo ou criar outro. Talvez você queira entrar nos gráficos e talvez torná-lo mais redondo. Mais borbulhante. Mais? Sim, que seja. E então apenas certifique-se de liberá-lo. Você trazê-lo para o mundo, diz a outras pessoas que você diz aos seus amigos que você criou seu próprio jogo Tetris ou jogo estilo
Tetris aqui. E não se esqueça de avaliar o curso de forma alguma. Talvez você encontrar o tempo e direito um pequeno comando neste curso até que outras pessoas é como você pensa sobre este curso. Mais uma vez, Muito obrigado por tomá-lo. Espero que goste deste. Mais uma vez. Meu nome é ótimo em e espero que eu tenha servido bem. Vejo-te no próximo prato. Tchau tchau.