Bem-vindo de volta, Meus desenvolvedores de jogos favoritos.
Neste vídeo, vamos criar
nosso primeiro script e adicioná-lo ao nosso reprodutor de condenação.
Não só isso, vamos aprender muitas coisas,
vamos aprender o que essa palavra assustadora significa.
Vamos aprender sobre variáveis.
Vamos aprender sobre entradas.
Vamos aprender sobre o vetor 2.
Vamos aprender como o início e a atualização funcionam separadamente.
Então, com isso dito,
este é um vídeo um pouco mais longo, se você quiser,
mas se você é um iniciante, é muito importante,
muito crucial entender tudo.
Então, não vamos perder mais tempo e vamos começar.
Oh, ok, então é hora de algum script.
A primeira coisa que vamos fazer é criar
um script e atribuí-lo ao jogador do doom.
Agora, existem muitas maneiras de criar scripts e há
muitas maneiras de atribuir scripts a determinados objetos.
Eles são todos iguais.
Vamos começar com o mais básico,
e isso é simplesmente clicar no objeto do jogo.
Você pode ver aqui que temos a transformação.
É um dos componentes que temos.
Podemos adicionar outro componente aqui clicando nele.
Agora, você pode ver que temos muitos componentes que podemos adicionar,
variando de áudio a afetar,
física e assim por diante.
Mas também temos essa opção aqui de adicionar scripts.
Podemos clicar nele. Podemos ver através dele e adicionar o script que quisermos.
Ou ainda mais fácil do que isso,
podemos simplesmente começar a digitar o nome do script que queremos adicionar.
E o script que queremos chamar ou criar será o controlador do player.
Então, vamos criar o controlador de camada aqui e garantir
que você crie o nome para ser uma única frase sem espaços.
Você pode ver aqui que temos a opção de um novo script.
Vamos clicar nele.
Você pode ver o nome como controlador do jogador.
E agora podemos criar o script,
mas certifique-se de que o sapato descubra a palavra correta ou o nome correto
para o script, pois ele será o nome da classe dentro desse script.
Isso será muito crucial à medida que você criar scripts mais tarde.
Então, vamos criar um anúncio.
Espere um pouco.
E agora devemos ver que temos o roteiro pronto.
Se clicarmos nele aqui,
podemos ver no Inspetor como será esse script.
E agora vamos clicar duas vezes.
E você pode ver que o Visual Studio está se abrindo.
Agora.
Uma das coisas que muitas pessoas ou muitos alunos meus continuam me perguntando repetidamente.
Se o script não abrir usando o Visual Studio ou, por exemplo,
quando você digitar algo aqui e não receber as recomendações do Visual Studio,
você pode acessar isso, ir para Preferências,
ir para as Ferramentas externas,
e no editor de script externo,
verifique se você tem o Visual Studio Community.
Você pode escolher nossos IDEs como o Visual Studio Code.
Mas eu, pessoalmente, gosto ou prefiro usar o Visual Studio Community 2019.
É muito melhor e mais suave que o estúdio.
Às vezes, o estúdio só tem suas peculiaridades onde ele não aparece,
não abre corretamente.
Por isso, prefiro usar o Visual Studio Community.
Isso é gratuito.
Funciona.
Vamos continuar.
Agora.
Temos nosso roteiro aberto aqui.
Temos as bibliotecas que podemos usar.
Temos o nome da classe, o controlador do jogador.
Ele sempre deve ter o mesmo nome que o script que criamos aqui.
Então você pode ver o controlador do jogador em nenhuma circunstância você
altera o nome do script aqui sem alterar o nome da classe?
Nem tente fazer isso.
Isso criará muitos problemas.
O que temos aqui? É um público,
veremos o que isso significa.
É uma classe, é um comportamento mono.
comportamento do Monte nos dá a capacidade de usar coisas como iniciar e atualizar.
O que é o início? Start é um método.
Veremos mais tarde quais são os métodos.
Mas, por enquanto, tudo o que você precisa saber que qualquer código que escrevemos dentro da
estrela é executado assim que começarmos nosso jogo,
se esse objeto estiver ligado, é
claro, veremos o que isso também significa mais tarde.
Uma atualização, como você pode ver,
é chamada uma atualização uma vez por quadro.
Então, se tivermos, por exemplo,
coisas que queremos chamar cada atualização de quadro é perfeita
para isso e veremos tudo isso à medida que avançarmos neste curso.
Você entenderá tudo, não se preocupe com isso.
Agora, a primeira coisa que precisamos fazer é que precisamos de uma maneira de mover nosso jogador.
Faremos isso tirando entradas das teclas de seta ou das teclas WASD.
Mas antes de fazermos isso,
há algo que precisamos levar em consideração e essa
é a velocidade de movimento do nosso jogador.
E para isso, vamos precisar de uma variável.
O que é uma variável quando se trata de C-sharp? Deixe-me explicar.
As variáveis são como caixas.
Então, temos uma caixa,
damos a ela o nome vidas,
e colocamos dentro dessa caixa um número três.
Então agora temos uma variável obter vidas que tem três dentro dela.
Então, é assim que criamos o código para essa caixa ou valioso.
Começamos dando a acessibilidade.
Então, onde você pode acessar essa variável?
Pode ser público ou pode ser privado.
Se for privado, só podemos acessá-lo dentro
da classe que criamos, não de fora.
Se for público, podemos sair de qualquer outro script que quisermos.
Precisamos atribuir o tipo da variável.
Então, temos vários tipos,
temos números inteiros, cadeias de caracteres e assim por diante.
Veremos em apenas um pouco quais outros tipos temos.
Temos o nome da variável.
Obviamente, todas as variáveis devem ter um nome.
De que outra forma chamamos isso?
E temos os dados que estão dentro dessa variável.
Então é assim que criamos uma variável em C Sharp.
E esta é a representação, se você quiser,
é como uma caixa que colocamos as coisas e depois seguimos em frente.
Temos diferentes tipos de variáveis.
E o primeiro tipo é uma velocidade.
Então, um número inteiro é um número normal, digamos 123456.
Um flutuador é, digamos 4.8.
Por que temos um flutuador?
Porque às vezes a velocidade de algo ou a velocidade de um carro não é apenas cinco ou seis.
Pode ser 6,32,
pode ser 6,9, pode ser 6.9456.
Então, precisamos de um flutuador,
e é assim que criamos um flutuador.
Sempre adicionamos os dados.
Então o 4.8 com um F no final.
Então temos um booleano.
O booleano geralmente é verdadeiro ou é falso.
Por exemplo, digamos que queremos determinar se um jogador está morto ou não.
Então, como ele, que ele está morto,
então a variável é verdadeira.
Se ele não estiver morto,
então a variável é que S false.
Finalmente, temos uma string.
Então, por exemplo, o que é uma série de caracteres?
Temos vários personagens,
um após o outro.
Vejo h, e, l.
Essa cadeia de caracteres é Michael.
Então chamamos uma variável do tipo string com o nome meu nome,
e ela representa michael.
Certifique-se sempre que você criar uma variável de string que esteja entre essas duas aspas.
Ok, agora, com todas essas variáveis feitas com,
vamos seguir em frente e criar nossa própria variável nos scripts aqui.
Então, a primeira coisa que vamos fazer,
pois vamos criar algo chamado campo serializado.
Agora, não tenha medo desse nome longo.
Vai ser um número inteiro,
e será chamado de velocidade de movimento.
Agora, isso determinará a rapidez com que nosso jogador se move à medida que implementamos
seu entendimento e por que estamos usando algo chamado campo serializado.
Acabou de me dizer, Michael,
que é público ou privado.
O que esse campo serializado se encontra?
Bem, não se preocupe com isso.
Mais tarde.
Também explicarei por que estamos usando algo chamado campo serializado.
Mas, por enquanto, entenda que é algo que podemos ver no Inspetor.
Então, se eu tornar isso público,
salve isso, volte para o nosso roteiro.
Você verá que no inspetor isso muda.
Temos o público e o movimento.
E se formos ao doom player,
você pode ver aqui que temos a velocidade de movimento e podemos mudá-la.
Mas se eu torná-lo privado para que outros scripts não o acessem,
você notará aqui que não podemos mais alterá-lo.
Mas e se quisermos ser capazes de alterá-lo do Inspetor, mas,
ao mesmo tempo,
não queremos que outros scripts o acessem.
Bem, nesse caso,
criamos um campo serializado.
Nós salvamos isso.
Voltamos e fazemos inspetor.
E você pode ver agora,
não podemos alterá-lo,
mas outros scripts não podem acessá-lo.
Analisaremos isso mais tarde à medida que progredirmos quando tivermos outros scripts.
Ótimo, então agora temos a variável da velocidade de movimento.
A próxima coisa que queremos obter é d,
movimento, direção ou a entrada que obtemos.
Então, como vamos mover nosso jogador?
Bem, vamos precisar de duas entradas.
Um que moverá o jogador para a esquerda e para a direita,
ou na direção horizontal,
e outro que moverá o jogador para cima e para baixo,
que é a direção vertical.
Então, a maneira como fazemos isso é usando o sistema de entrada e vamos obter
nossas entradas usando algo chamado ponto de entrada obter acesso Raw.
Agora, você pode estar confuso. O que é isso?
Como vamos conseguir isso?
Bem, sempre que você enfrentar algum talvez.
Talvez um novo método ou
alguma coisa estranha que estamos usando em unidade e você esteja um pouco confuso.
Você tem um amigo muito útil, que é o Google.
E então, quando você procura no Google,
você pode ver que temos algo chamado documentação do Unity,
que é um lugar tão incrível e deve ser uma fonte diária de informações para você.
Então, queremos usar a entrada.
Queremos obter os eixos,
que são horizontais e verticais.
Você pode ver aqui,
se procurarmos por ele e as documentações,
temos todas as informações que precisamos.
Primeiro de tudo, podemos ver como a declaração funciona.
Podemos ver a descrição para que ela retorne
o valor do acesso virtual identificado pelo nome do eixo.
Ele também informa como usar esses métodos diferentes.
E também lhe dá aqui um exemplo de como usá-lo.
E eis
que eles o usam e a atualização,
podemos até mesmo ir em frente e copiar isso e usá-lo em nosso próprio rei.
Mas, por enquanto, vamos procurar o ponto de entrada,
obter linha de acesso, horizontal.
Muito bom. Mas de onde eles obtiveram o nome horizontal?
Vamos verificar.
Se voltarmos e nosso jogo.
Se formos para o arquivo ou me deixarmos ver as configurações do projeto Editar.
Se olharmos através do gerenciador de entrada,
clicamos no eixo,
podemos ver que temos o firewall horizontal,
vertical para pular, salto
fogo MouseX, etc.
Essas são todas as entradas que podemos usar.
E se clicarmos na Horizontal,
você pode ver aqui que temos o nome horizontal,
daí por que ele está sendo usado aqui.
Enquanto aqui você pode ver que estamos usando horizontal.
E você também tem a vertical e você pode ver que o botão negativo está esquerdo,
o botão positivo está certo.
E você também tem um botão negativo para fora, o que significa alternativa,
que é o a e o D. Você também tem a gravidade e assim por diante,
mas de detalhes lá dentro.
E você também tem o eixo,
o eixo x, que significa a horizontal.
Então, vamos avançar em nosso código e implementar isso.
Então, vamos abrir o frio aqui.
Eles usaram uma atualização.
Vamos em frente e usá-lo e atualizar porque queremos
ter acesso a ele todas as vezes.
Então, vamos escrever aqui o ponto de entrada, obter acesso errado.
E vamos abrir os dois suportes aqui.
Mas agora queremos escrever na horizontal.
Digamos que escrevamos xantana pressa.
Então você pode ver, eu meio que estraguei tudo.
Não é a palavra correta.
Se não for exatamente a mesma palavra que a usada aqui nas Configurações do projeto.
Isso não funcionará.
O que isso significa?
Sempre que estamos usando as referências de string,
já aprendemos o que são strings.
Precisamos ter certeza de que entramos em Unity.
Clique duas vezes aqui para selecioná-lo,
Controle C para copiá-lo,
volte aqui e cole.
Isso garantiu que não cometeríamos nenhum erro sempre que
estivermos criando ou usando uma referência de string.
Isso é muito importante porque quando se trata de erros,
isso não será detectado pelo Visual Studio.
É por isso que é imperativo sempre que você estiver usando uma referência de string para sempre,
sempre copiá-la e colar.
Esta é uma regra que você usará todo o seu desenvolvimento de jogos de jornada.
Agora que temos o eixo rolando na horizontal.
Também podemos adicionar a vertical,
mas não é suficiente.
Precisamos de uma maneira de armazenar o que estamos clicando.
Então, a maneira como fazemos isso é criar outra variável aqui.
Desta vez, vai ser privado.
Vai ser do tipo vetor 2 e será o movimento.
E agora o que é um vetor dois e por que o usamos para ter a entrada do movimento.
Bem, porque se olharmos para trás aqui e esperarmos que ela seja compilada,
você pode ver que a posição é um x, y e z.
Agora, porque não estamos trabalhando na dimensão VC e nesta dimensão,
seja lá o que você quiser chamá-la,
nós estão trabalhando apenas no x e y.
Queremos ter um vetor para que leve tanto o x quanto o y.
Então agora o que podemos fazer em nosso código,
podemos vir aqui.
Podemos escrever entrada de movimento.
Podemos adicionar o ponto x e ele será igual ao ponto de entrada.
Obtenha acesso errado.
E só para garantir que possamos ver tudo,
vamos escrever log de pontos de depuração.
E aqui vamos apenas imprimir o movimento,
esse ponto de pé x.
vamos salvar isso.
Vamos também ir em frente e imprimir o log de pontos de depuração e toda a entrada de movimento.
Então, vou escrever aqui,
este é o vetor.
Para salvar isso, volte para o Unity e certifique-se de ter o console aqui.
Se você não for para Window, vá para General.
E você pode ver aqui que você tem a janela do console.
Então, vamos clicar aqui.
Não se preocupe com esses pequenos erros.
Execute o jogo.
Lá vamos nós. Assim, podemos ver que atualmente temos zeros.
Podemos clicar no colapso.
Isso colapsará todas as mensagens que são as mesmas.
Se agora tentarmos pressionar a ou D,
se pressionarmos o a, lá vai você.
Você pode ver que isso se torna menos 1 e o vetor 2 é menos 1 000.
Se pressionarmos a tecla d,
você notará que ela se torna 1 e o vetor dois é 110.
Então lá vamos nós.
Excelente. Agora que você entende como eles funcionam, como eles parecem,
é hora de um pequeno desafio e seu desafio será obter a entrada y.
Então, verifique no Gerenciador de entrada de configurações do projeto para obter a entrada y, o que deveria ser?
O que a string deve me referir?
Obtenha a entrada e o código usando o rolo do eixo de lacuna.
Você também pode conferir algo chamado obter acesso sem linha.
Este é um bom O recurso extra para você fazer.
É muito fácil, basta verificar a documentação,
apenas obter acesso sem Rob, ver qual é a diferença.
E, finalmente, você precisará exibir essa entrada no console usando o log de pontos de depuração,
assim como fizemos usando a entrada de movimento.
Então, pause o vídeo agora mesmo e vá fazer cada galão.
Certo, bem-vindo de volta.
Como você se deu bem com isso?
Eu sempre espero que você esteja tentando o seu melhor.
Então, vamos duplicar essa linha.
Como faríamos isso? Basta clicar no final desta linha.
Mantenha o controle D.
Agora você tem exatamente a mesma linha.
Vamos mudar isso do x para o y.
lá vai você.
E, em seguida, o input.txt obtém acesso.
Rob, o que isso deveria ser?
Bem, sabemos que isso deve ser vertical,
mas sempre que estamos lidando com referências de string,
vamos para a vertical,
clique duas vezes em Controle C, voltamos no controle de código V, salve isso.
E vamos duplicar isso também,
entrada de movimento ponto y.
E vamos apenas adicionar um pouco de palavras aqui.
Então este será o x,
este será o y.
Salve tudo isso,
volte para a unidade.
Isso fecha a janela de configurações do projeto.
Execute o jogo. Então, agora, como você pode ver o x,
o y e o vetor ou todos os 0.
E você pode ver quantos temos aqui.
Uma vez que pressionamos o w,
podemos ver que temos o y como um,
o vetor 2, 0, 1.
Se pressionarmos o S, é menos 1.
Se pressionarmos a tecla a,
x é minus1 enquanto o y ainda é 0,
você pode vê-lo aqui no vetor 2.
Se pressionarmos a tecla W e D,
você pode ver que temos esse vetor é 1,
1 com x sendo um.
E tudo está funcionando perfeitamente bem com tudo.
Então, espero que você goste.
Espero que você tenha entendido o que está acontecendo.
Se você não tem certeza do que está acontecendo.
Tentei analisar isso novamente,
entenda o que significa um vetor dois.
Também temos algo chamado vetor 3.
Sempre que estamos trabalhando com dimensões VC,
se for um jogo 3D.
E com isso dito,
espero que você goste e espero que também tenha entendido como a atualização está sendo
chamada a cada quadro que você pode ver quantas vezes ela está sendo chamada.
E só para uma pequena demonstração,
se você ainda está um pouco cético em relação ao que estou dizendo,
vamos tentar depurar o log de pontos.
E vamos apenas dizer aqui, ei,
eu sou e começo a ser chamado uma vez.
Salvei isso de volta em nosso jogo quando corremos,
assim que isso for montado, executamos o jogo.
Você verá aqui, ei,
é chamado apenas uma vez.
E estes estão sendo chamados de cada quadro.
E nosso jogo com isso dito,
volta aqui, compromete todas as nossas mudanças.
Compromete-se.
E como devemos chamá-lo aqui?
Criou um script para o jogador e as variáveis aprendidas.
Agora, isso ocorre porque estamos criando um curso geralmente quando você está
fazendo um projeto e aprendeu variáveis, isso não é importante?
Vou removê-lo.
Isso é só dizer que criou um script para a camada.
Vamos comprometer nossas alterações.
E te vejo no próximo vídeo.