Natal Luz Em Gramado E Canela

Rensselaer Polytechnic Institute, Troy - fala aí gamers do youtube tranquilo aqui é o papai gamer fazendo mais um vídeo na série desenvolvendo jogos,ok, então eu já fiz sete vídeos ensinando a fazer um jogo relativamente simples no Multimidia Fusion e agora eu quero fazer uma série ensinando a fazer o mesmo jogo que a gente fez lá naquela série só que usando programação, tá. porque estou fazendo isto? porque o intuito é ajudar a comunidade aprender a programar e desenvolver, tá,porque, como eu já disse nos outros vídeos, sou analista de sistemas eu programo desde 10 anos de idade, eu comecei a programar no ano de 86 então eu gosto muito de programação e apesar do pessoal falar na programação é chata se vocês aprenderem a usá lá direitinho programação acaba se tornando divertida e poderosa, tá! E a gente vai começar a usar uma engine nova relativamente nova que descobri recentemente por acidente em um comentário no fórum. Um cara comentou a porque senão experimentou tal engine.. Então eu fui pesquisar, e descobrir que parece ser uma engine extremamente promissora tá. Essa engine e se chama Godot. Só pelo visual aqui já dá pra ver que é de encher os olhos ok pessoal é uma engine bem completa cheio de recursos 2d e 3d o legal dela é que diferente do do unity, a Unity, o 2D dela é um 2D falso é um 2D mas na verdade é um 3D, então ela é um 3D, que faz uma renderização em 2d no caso dessa engine não o 2D dela dela é real pixel a pixel então se eu mando ele andar 3 pixels ele vai andar 3 então eu consigo movimentar um personagem que dentro como se fosse uma engine 2D normal que a gente já conhece como game maker tá e outras que tem no mercado vantagem essa engine é 100%, nada mais nada menos 100% grátis de código aberto é o que você está escutando ela é totalmente gratuita ok pessoal e cheia dos recursos primeiro ela tem uma interface muito agradável ela tem uma interface escura o que ajuda a desenvolver que cansa menos a vista e eu sei a desenvolver com interface branca clara a cansa demais, tá consegue desenvolver jogos 2d muito bonitos têm efeitos de partículas efeitos de luz.. gente ela tem muito efeito legal pra vocês colocarem no jogo como vocês podem ver aqui o fully dedicated 2D engine, no hacks o que ele quer dizer com no hacks porque a Unity eu usava muito desde a versão 2.5 do Unity de muito tempo atrás, é não dá, fazer jogo 2d nele era terrível era quase impossível ser um trabalho enorme então basicamente era inviável então o que o pessoal da Unity fez, criou o tipo de Hacking, ou seja uma adaptação para poder trabalhar melhor com 2D nesse aqui não você trabalha com 2d mesmo como diz aqui tá, uma engine 2D totalmente dedicada tá.. e também faz 3d então se vocês ficarem aprenderem a usar ela direitinho, vocês fazem 3d com um monte de recurso vocês podem trazer objetos do Blender vocês têm um esqueleto dentro deles mesmo, ok então ele está cheio de recursor legais e uma coisa que quando eu experimentei eu achei fascinante você pode animar tudo tudo até funções e pode animar coisas incríveis aqui dentro e essa animação integrada dentro da própria ferramenta então vocês conseguem por exemplo como tá dizendo aqui vocês podem usar esqueleto, inverse kinematics que quem já conhece sabe o poder que é trabalhar com inverse kinematics, tá, então vocês podem animar 2d e 3d usar interpolação tudo dentro da própria ferramenta sem precisar adquirir uma ferramenta externa para fazer esse trabalho que é excelente que ferramentas para fazer animação de sprite são um pouco caras ok? tá, e pra quem gosta de programar ele sim ele tem break points ele tem sistema de debug vocês conseguem ver a informação tem um intelesence excelente ele te ajuda a trazer informação pra dentro da programação então ele é muito legal pra você poder fazer a programação testar e procurar as falhas no seu algoritmo multiplataforma editor você consegue literalmente trabalhare nele no windows no linux, tá, no macintosh qualquer sistema operacional mais comum, então pra quem gosta de linux vai poder desenvolver jogos multiplataforma no linux com o Godot sair você consegue soltar ele pra aí o IOS, Android, pra linux, windows inclusive ele tem exportador para você jogar até pela Xbox One, ok pessoal até html5 eu já experimentei compilar para android muito boa a funcionar direitinho de literalmente o compilei e rodei na primeira tentativa foi incrível configurei ele, rodou, joguei no celular e rodou legalzinho, tá, então como que a gente vai fazer de conta uma história interessante essa engine ela é a argentina, tá, ela foi forjada no calor da batalha que eu quis dizer com isso ela não é uma engine que simplesmente um grupo de desenvolvedores sentaram e falaram: vamos fazer uma engine nova não.. essa engine é usada por uma empresa desde 2001 então não tem uma empresa argentina chamada Okam, que desenvolve jogos desde 2001 e agora em 2014 ela decidiu tornar a engine dela pública qual a vantagem de fazer isso ela com código aberto à comunidade de desenvolvedores começa a crescer pessoas ajudando a desenvolver tá, pessoas testando, encontrando de falhas, então eles acabaram arrumando uma equipe em uma comunidade pra ajudar no desenvolvimento dessa engine ela é provavelmente deve tá embutida dentro dela toda a experiência desses 15 anos que a Okam tem em desenvolvimento de games então o workflow dela é muito suave muito divertido e de trabalhar voçês que a gente vai começar a fazer um jogo, ok pessoal, pra você se instalarem ela aplicação anos tem uma pressão de vocês tem duas maneiras ok uma é baixando como vou mostrar aqui ó ela é só um exe, não precisa instalar, você descompacta e usa ou se vocês preferirem se tiver uma conta na Steam, instala gratuitamente a partir da Steam, entra na Steam, manda baixar e instala e joga usa ,tá, então vocês conseguem instalar na Steam, a vantagem também na Steam é que ele tá sempre atualizando pra você ok, então se lançar uma versão nova automaticamente a isso já faz o download. Ok, pessoal uma vez baixado vocês vão executar simplesmente dando um duplo clique no executável ele vai abrir para vcs aqui que é que o project manager onde vocês vêem os projetos estão trabalhando podem criar projetos, apagar projetos e fazer o que for necessário que tal nós vamos criar um projeto novo que clicando em new project e quem acha que tá tudo em inglês tal parece que tem uma maneira de traduzir eu não aconselho sempre digo pessoa use em inglês aprenda inglês, treine o inglês que vocês traduzirem para portugues uma ferramenta de trabalho vocês estaram deixando de adicionar conhecimento importante hoje em dia a globalização é importante então aconselho usa em inglês eu não gosto de traduzir ferramenta então vamos lá em new project ele vai perguntar aonde que eu quero criar eu vou abrir aqui ele já vem direto na pasta onde eu rodei inicialmente o Godot ele já sabe que está aqui dentro vou criar uma nova pasta chamada SpaceShooter agora então criei a SpaceShooter,um projeto esse projeto está vazio vou dar uma dica pra vocês pra fazer esse projeto e vou usar uma biblioteca gráfica gratuita disponibilizada aqui no open game art dot org vocês podem entrar nesse endereço eu posso disponibilizar para vocês no link pra ficar mais fácil ou procurar pelo Kenney vocês entram aqui e digita Kenney e vocês vão ter um monte de gameart feito por ele muito legal os gameart dele bem suave estilo é bem chapado mas bem legal zinho e aí vocês vêem aqui e clica para fazer o download da pasta. Feito o download da pasta vocês vão descompactar lá dentro uma pasta chamada png nessa pasta tem um monte de gráfico pronto tem os tiros todos pra gente usar para não ficar perdendo tempo desenhando para estudar a ferramenta e vou copiar essa pasta png aqui pra dentro da spaceshooter que vai aqui é onde nós estamos trabalhando no projeto ok, eu vou colar aqui e vou renomeá-la pára "sprites" então a partir de agora nosso projeto é essa que a pasta onde ficam as imagens do jogo ok pessoal, então vamos voltar aqui para a engine e eu vou clicar em spaceshooter pressionar "edit" e ele vai abrir o projeto e já vai vim com a interface prontinha pra gente trabalhar aqui, tá inclusive ele inicia aqui em uma tela 3D ok pessoal, mas a gente não vai brincar com isso aqui por enquanto eu estou estudando essa ferramenta ainda me aprofundei mais no 2D, tá. Aqui nós temos a pasta de trabalho então aqui "res" significa de ressources automaticamente detecta passar raiz dele ou seja onde ele tá aqui dentro da tá vendo ó.. então essa aqui é a pasta raiz de trabalho ele já detectou aqui os sprites e já disponibilizou pra gente aqui os sprites do jogo, e que agora a gente vai fazer o seguinte: vamos clicar aqui em 2d vou mostrar pra vocês como se trabalha em 2d no jogo. Aqui nós temos a primeira fase ok primeiro estágio primeira cena quem já mexeu com Unity 3d sabe que lá a gente tem uma cena OK? e dentro dessa cena agente adiciona prefabs, prefabs são objetos prontos com programação com o mesh 3D lá dentro as texturas tudo pronto e você tem todos eles aqui dentro e você direciona esses prefabs dentro da cena o Godot vem com sistema de trabalho diferente e eu achei muito legal, que você não tem "prefabs" você tem apenas "cenas", nossa mas como assim "cenas" se eu tiver uma cena eu não tem objeto eu não tenho de jogo.. mais ou menos está na verdade o que é legal é o seguinte as próprias cenas são os objetos. Pode soar estranho mas vocês vão entender quando a gente for fazer os primeiros objetos as cenas são os próprios objetos então vocês conseguem montar coisas aqui dentro com maior complexidade de objetos e depois jogar esse objeto para dentro da cena principal! É muito legal pessoas vão ficar fascinados com que essa engine consegue fazer. Eu achei muito legal primeiro a gente vai fazer um ajuste aqui na tela. Essa área aqui olha esse quadrado aqui ok é nossa área do jogo então se eu executar o que vocês vão ver o que tá aqui dentro,OK? Vamos mudar este tamanho está muito grande, e eu vou converter aqui é um pressionei "scene/project settings" e vou colocar aqui: "display", aí vou mudar o tamanho aqui para 640 por 480, ok pessoa? vou colocar aqui no "stretch mode" : 2D caso você aumente a tela e ele configura para os pixels ficarem perfeitos ok pessoal e muito importante aqui no "image loader" no "image loader", quando vocês estão fazendo um jogo que utiliza pixel art eu considero interessante vocês desabilitarem essas duas opções para o jogo ficar serrilhado senão ele vai dar um blur né, vai dar o desfoque na imagem não vai ficar legal,ok então eu fiz isto aqui inicialmente pra gente nesse a configuração vou dar um close e vocês viram que a nossa telinha já diminuíu tá? Começando a trabalhar com Godot: primeira regra e a mais importante toda a cena tem que ter uma raiz que a gente trabalha com nós, então dentro da cena o adicionou nós, eu tenho vários tipos de nós diferentes 2d e 3d, de animação de colisão, tá? No cenário do jogo eu simplesmente vou adicionar um nó normal chamar seria o pai de todos que é o nó comum. Esse nó não tem nenhum tipo de programação dentro dele é bem simples vou dar um duplo clique e vou chamar aqui de "game" ou a gente pode até chamar aqui vamos chamar só de game ou melhor vamos chamar de "main" pra ficar mais interessante. Pronto então isso aqui vai ser chamado de "main". Uma vez que eu coloquei o node eu posso salvar essa cena sem node eu não consigo salvar note que eu colocando este node não apareceu nada aqui dentro porque na verdade ele é simplesmente uma representação vazia. Então vou pressionar "control+S" e ele vai pedir para me salvar, eu vou criar uma nova pasta e vou chamar "scenes" e dentro dessa pasta eu vou salvar a fase ao nosso estágio ou cena como a gente chama de "main", ele já trouxe esse nome porque nós temos a raiz chamada "main" uma vez feito isso, vocês vão notar agora que está salvo com o nome de "main" ponto tscn e esse aqui vai ser a tela principal do jogo. Se eu executar ele não vai deixar inicialmente porque: ele vai dizer que não existe uma cena principal definida então ele tá pedindo pra você definir depois aqui "project settings" aqui na aplicação ou já pressiona aqui para selecionar uma então eu vou clicar em select e vou colocar nossa main como a cena principal se a gente vir aqui em "project settings" no "applications" agente já tem aqui no "main scene" e ele já traz, se eu quizer trocar basta clicar aqui clica "file" e troca a cena, ok? Então a gente já tem uma cena principal com a cena principal, se eu mandar executar aqui ele já vai dar a executar notem que é muito rápido tá gente e outra coisa muito legal que ele é executa o jogo bem rápido quando você pressiona play e ele está aqui executando a nossa cena principal 640 por 480 real pixel talão é um 3d que imita um jogo 2D, é um 2D real.. muito bom agora pra gente começar a montar o nosso jogo a gente vai criar outras cenas essas cenas serão os objetos do nosso jogo então a gente vai clicar no "scene/new scene" feito isso aqui ele criou uma nova cena vazia se em tentar salvar ele vai dar erro tá vendo "essa operação não pode ser feita sem uma raiz" Então eu preciso adicionar uma raiz como isso aqui vai ser um objeto de jogo, a gente vai fazer a nossa nave aqui dentro então eu vou adicionar uma raiz chamada "node2D" vocês podem digitar aqui em cima "node2D" de que ele consegue achar mais fácil ok. eu vou adicionar esse nó chamado node2D, nesse nó vocês podem olhar aqui que aquele já adicionou um quadradinho pra indicar que esse nó, diferente do nó vazio, ele tem coordenadas, ele tem no tamanho, tem posição tem escala ele é um nó que você consegue programar e editar e configurar ele aqui. Então a gente pegou este nó e vamos dar um duplo clique aqui chamado de "nave" e pressionar "ctrl+s" para salvar e ele já veio aqui na tela de cenas já trouxe o nome "nave" porque nós temos a raiz aqui chamado "nave". Salvando ele adicionou pra gente o nó "nave" agora a gente vai começar a fazer a mágica. Uma vez que eu tenho o nó "nave", lembre-se: eu só posso ter uma raiz. Todos os outros objetos dessa cena estarão dentro da nave ou dentro dos objetos dentro seja, serão filhos, netos e bisnetos da nave. OK pessoal? Então vamos lá. Primeira coisa que temos que adicionar é o desenho da nave, afinal de contas ela não tem algum desenho. Então vamos clicar aqui no botão mais e vamos escolher "sprite", e vamos adicionar nó dentro.. dei um duplo-clique, dentro de um nave, chamado "sprite" a gente pode chamar aqui de corpo e vai ser o corpo da nave ou se preferirem só sprite mesmo, vocês decidem na hora de desenvolver. Esse nome é super importante vão ver pra frente da gente a escolha do nome que influencia na programação. Uma vez que adicionamos um sprite ele vai estar aqui dentro,notem aqui que ele está dentro da nave mas não ainda não tem um rosto então a gente clicando aqui selecionando sprite a gente vem aqui "texture" e seleciona clique aqui pressionado "load", e a gente vem aqui e sprite pressiona o botãozinho pra ver as imagens aqui ea gente tem umas imagens vão pegar essa navizinha qui e pronto agora nossa navizinha tem uma cara esses "sprite" adicionou. Vamos salvar. Agora vocês vão ver que é interessante é o seguinte: eu venho aqui na minha tela principal, lembrando: ele tem uma cena chamada navi e tem uma cena chamada "main". Essa é a tenda principal do jogo nessa cena eu vou aqui pressionar aqui o "link": essa a correntinha. Pressionando ela ele vai perguntar eu vou ter que escolher uma cena pra fazer uma linkagem , ele tá pedindo os tipos de cena é padrão aqui. Então eu vou em "scenes" e vou escolher eu vou clicar aqui "nave" eu vou clicar aqui e a gente tem a nave dentro da cena principal. Aqui eu edito a nave e aqui eu coloco a nave no meu cenário então vocês vêem que nave está dentro de "main", ok pessoal? se eu executar agora vocês vão ver que a nave já está fazendo parte do jogo olha que simples. Como eu coloquei 2D stretch lá, ela estica quando você aumenta e notem que ele tá bem pixeladinho, legalzinho não está aquele "blur" estranho, ficou mais legal. ok pessoal? então agora vamos começar a parte que alguns têm um pouco de medo que a parte de programação. A gente vai vir aqui na nave e a gente vai adicionar o comportamento. Notem é uma coisa importante. Vou clicar aqui na nave isso aqui é o centro da nave OK pessoal? Então, o centro dela e nesse ponto onde tá aqui ó então esse ponto 00 é legal você consegue definir a origem da nave, se eu girar a nave , mandar ela girar ela vai girar dentro desse ponto se eu colocar a nave lado ela vai fazer uma órbita nesse centro porque quando eu mando a girar, ela não vai girar esse objeto ele ele vai girar a cena, e o centro da cena é aqui, ok, essa aqui é a origem da cena. Então vamos entrar aqui na nave e vamos salvar isso aqui gente vai entrar na nave, para adicionar programação, basta vir aqui na nave, botão direito, adicionar script adicionando o script eu vou escolher o local onde você vai script vou entrar aqui e vou criar uma pastinha chamada script então dentro da pasta script eu vou salvar todos os scripts do jogo. Vou dar um save e create. tudo certo aqui eu dou um create notem que esse script, ele já vem até com algumas coisinhas pra facilitar o entendimento e vou mostrar pra vocês depois, e ele já estende aqui ó , ta vendo significa que esse script é próprio do node2D, porque esse objeto que a gente colocou que é um Node2D do tipo um node 2D. Vamos começar por aqui. Primeira coisa quando a esse objeto é carregado no jogo, a primeira função que ele executa aqui dentro, então é como se fosse um create. Eu quero saber o que acontece quando crio um novo objeto nave, ele vai executar o que tá aqui dentro ok? Como a nave é processada ou seja ela vai receber o input ela vai ser atualizada para se mover, a gente tem que dizer isso tá no Godot gente tem que dizer quando o objeto ele é processado ou seja ele entra na fila de processamento e a chamada função que e atualizar ele no programa então pra isso a gente tem que dar o comando aqui dentro do "ready" chamado "set process" é e passar "true". O que significa isso pessoal. Para quem não sabe e está aprendendo a programar, a gente tá chamando uma função essa função é de sistema OK? do Node2D de é uma função que está aqui dentro dentro que e este "true" significa verdadeiro inglês então estou dizendo pra ele que esse objeto é processável, ou seja ele vai entrar no modo de processamento individual do script só que feito isso, a gente tem que criar uma função que vai ser a função que vai ser executada a cada quadro do jogo cada vez que o jogo adicionar um quadro que a gente chama de de FPS ou frames por second, e o padrão é 60 ou seja, vai ser chamado se aproximadamente 60 vezes por segundo é uma função este "func" é de função chamada "process". essa função vai ser chamada 60 vezes por segundo durante o jogo. É essa linguagem de programação não utiliza ponto e vírgula é muito baseda no formato do python, eu gostei bastante porque o seguinte: eu criei aqui uma função e pra mim dizer o que está dentro dessa função vocês podem dizer que é uma função ela acaba aqui é que começa outra função tudo que vai estar dentro dela vai depender disso aqui tenho que dar uma tabulação, se eu tirar essa tabulação vai dar um erro e ficar uma linha vermelha ele precisa dizer que eu tenho adicionar conteúdo essa função ou simplesmente vnho aqui dou um tab e dou um "pass" ou seja eu estou dizendo para ele assim: a função acaba aqui mesmo que vazio. Então tudo que eu escrever aqui dentro escrever aqui dentro vai ser processado pela engine. OK pessoal? Então vamos lá primeira coisa que a gente vai fazer como a gente fez no outro jogo vou clicar aqui no "main" e pressionar 2D dentes e fazer a nossa navizinha ir da esquerda para direita tá bom? Então pra fazer isso a gente tem que trabalhar com um input essa é outra coisa muito legal que tem nessa egine que é um sistema que facilita muito o controle de entrada. Vindo aqui em "scene/project settings" agente vai ter aqui o "input map" que serve, vou fechar aqui só para facilitar a visualização, justamente pra vocês criarem entradas próprias de input com nomes, ok? vamos lá vamos criar uma entrada que acho que fazendo vocês vão entender, vou criar uma entrada chamada "direita" pressionar "add" e ele abriu de tudo de novo, ai aqui ele colocou aqui é "direita", eu vou criar uma chamada esquerda e vou adicionar ela aqui dentro o pessoal agora que que eu vou fazer disse à direita eu tenho que dizer quais os inputs ou seja como que eu vou fazer para a economia e para a direita com as teclas que o próprio pressionar sem joystick se ao mouse seu botão do mouse pra isso eu vim aqui o lado direito e pressionar mas ele vai perguntar para mim é uma tecla motor já existia e que estique do joystick é o botão do mouse eu vou colocar aqui que pressionando aqui ele vai perguntar qual a china a técnica eu quero vou perder pressionar a tecla esquerda à direita ele já vai mostrar o que então o comando à direita funciona eu pressionando até que a direita mas eu quero também poderá utilizar o a letrada e do teclado então pressionou a equipe que pressionou de ok então o comando direita e após pressionar tanto a seta para a esquerda quanto a tecla de que a esquerda a gente vai fazer a mesma coisa e tal eu vim aqui pressionar mais à esquerda tecla pressionou até o teclado da sardinha esquerda novamente pressiona aqui quem agora tal a ok então pra mim pra direita vou poder usar tanto a seta da direita contra letra d ou acerta da esquerda com talento vamos voltar aqui por nossa script e aqui a gente pode processar o comanditário gente vem aqui ó a gente faz isso é chamado de senhor tá pra quem não sabe programa os eua com o que eu escrevi aqui na frente for considerado o verdadeiro ele vai executar o que estiver dentro dele então eu te perguntar pra ele a se legalizar trazendo aqui pra gente as ações que a gente criou eu quero saber se a ação da direita foi pressionado eu coloco dois pontos tenta então tudo que eu escrevi aqui dentro nessas próximas linhas com 2 tabulações só será executada seu pressionar a tecla certa pra direita ou de porque a gente configurou isso lá no mapeamento de input mostrar pra vocês o algoritmo que eu gosto de fazer pra movimentar objetos dos anacés style clicado duas variáveis pra quem não sabe que a variável pessoal variável no local da memória pra guardar algum tipo de informação pode ser ou não não pode ser um texto pode ser um objeto pode ser uma cena chamava criamar vale era chamada de direita e uma variável chamada e de esquerda que vamos dizer que aqui vale zero e isso é que é igual a zero então estou criando duas variáveis a variável de ea variável e dentro do dia eu estou guardando um número que eu estou guardando o número zero e dentro de um estugarda andulo - 0 também então daqui em diante dentro dessa área do meu programa disse que dentro do sul que delegou a 0 e agora 06 letra e se tornaram uma variável de memória então eu vou perguntar o seguinte olha que legal disse que então se o input tiver uma ação direcionada à direita e vou dizer que a minha direita é igual a 15 pressionasse direita eu vou dizer que nem o direito à igualdade agora eu vou fazer a mesma coisa pra esquerda ok porque uma das crises da garota estava daqui e contra houve toque então aqui eu quero outra ação e vou colocar esse que pode decretar oferece pra vocês aqui legal ela tudo que a gente colocou lá então quero ação esquerda se a ação esquerda foi pressionada e vou dizer que é igual a menos um por quê - o pessoal como a gente já aprendeu no multimédia feijão pra direita a gente pra esquerda a gente e subtrai muito mal agora eu vou mover essa marca e promover essa nave eu vou fazer uma linha vai parecer complicado mas não é tabu pessoal mental no objeto do tipo não onde a gente tem um método chamado dos 77 que nem fica definida a posição essa posição e tem que passar um x y em forma de um vector tá pessoal eu colocasse 10,20 dizendo para ele as coloque minha posição no x10 e no y vinte e tal mas não há como a gente fez lá o time de feijão a gente fez na posição x agora posição x e mais uma quantidade de de tipo 5 por exemplo mas sim de que a gente vai fazer aqui a gente vai adicionando a posição então vou pegar eu vou pegar a posição dela que ele pegou isso não quer expulsar eu vou pegar a posição dele vou adicionar o vetor dela do jeito que eu tô fazendo aqui 0,00 para ele o coloca na posição na posição que eu já estou mais 0 x 0 e nixon desse jeito ela não vai sair do lugar aqui que eu vou fazer eu tenho que definir o valor para a x porque a gente está se mexendo em x eu vou querer uma nova variável que pressione o colocando ela aqui cima das funções ela vai funcionar no script no terreiro vamos chamar ela de velde velocidade pra simplificar vamos dizer que a velocidade vai ser 200 número alto tá já vou explicar para vocês porque que é que não pode ser 56 a gente trabalha aqui como em 2010 o delta q que a gente vai fazer agora eu quero movimentar a minha posição que eu já estou mais seja mais 200 no egito x 0 e agora vem uma questão de se deu esse delta é o tempo que passou da posição do quadro anterior é próximo ele é utilizado o pessoal pra manter a velocidade do jogo igual em qualquer computador então ele vai rodar em 60 quadros por segundo e se você tiver no computador e se você tiver no computador muito mais fraco ele vai diminuir essa velocidade mas o jogo não vai ficar lento ele vai gerar aquela coisa meio pulada sabe o quadro quebrado então isso aqui é para manter a velocidade de igual em todas qualquer computador você jogar e só que ele transforma tudo pixels por segundo então eu vou multiplicar isso aqui o que que eu tô fazendo eu quero que minha posição ou seja a posição atual mais x eu quero 200 pixels por segundo ou seja eu sei exatamente o que um segundo de jogo a nada e vai simon vai se mover 200 pixels por segundo ok agora já há mágica que do diesel ea gente também multiplica vezes vocês conseguem entender que é a de que significa só que a gente sabe que qualquer número x 1 é ele mesmo só que a gente definiu aqui como 0 concorde-se ou não pressionar nada que é de fumacê e 0800 vezes e zero é zero então eu vou dizer pega posição e somar 0 porque eu estou x ac será pressionar para a direita dizendo que o de vale ou então enquanto que é 100 então aí ele vai fazer o que ele vai adicionar esse ver tudo isso aqui ao vetor da nave roque salvan aqui se a pressionar esquerda rua e vale - junho então eu vou pegar esse vetor vezes o delta ii x - junho ou seja eu vou deixar esse número negativo e vou puxar a nave à esquerda porque que o presidente mas e porque esse é o pressionar esquerda e direita ao mesmo tempo mas menos 10 nessa eu tenho 1 a 0 então o que acontece operacionais que é de direita ao mesmo tempo essa soma vai dar zero portanto não se mexe o interesse é uma semente para fazer quando a pessoa peta as duas teclas pra cima pra baixo e que a direita ao mesmo tempo a nave ficará parada no lugar a isso é fazer uma linha simples aqui e matemática faz a sua mágica não fazer um teste aqui espero que ao dirigirem à época do gravando não quero falhas agora na gravação que a lei de murphy pega a gente aqui ok eu tô pressionando pela direita com a seta e agora estão pressionando cole trad não vou pressionar para a esquerda ele teria pra esquerda direita ou pressionar os dois aos dois ele não vai esquerda direita e esquerda e direita pressionando as duas teclas ele para então apesar de ser programando pessoas notem que é é simples não é complexo ok é algo que fica fácil de trabalhar eu gosto muito de trabalhar desse jeito porque aqui eu posso criar o meu próprio algoritmo eu posso criar coisas mais complexas que com programas que não utilizem programação se você começar a criar coisa muito complexa viram maranha de kumba ialá cobain pra cá quadradinho de um mês parado gente eu acho complicado eu gosto de estar aqui com vocês vão adquirindo experiência vocês começam a ver isso aqui é português claro toque pessoal por esse vídeo foi o vídeo demonstrativo então a gente já fez aqui nossa na vizinha indo pra esquerda para direita assim como a gente fez no click no críquete phil já a gente pode até simplesmente a crise aqui ó definir meta que um dia lá para vôos gente consegue fazer isso aqui rapidinho militar pode dizer assim tanto x tae-se que é legal até ser minha posição x pegar aqui são 640 vamos fazer um teste mas sim que está no meio da nave vamos tirar depois a gente vê o tamanho dela vez que dá pra ver por aqui a gente consegue ver que neste press e não é que eu não consigo ver tamanho também pudera que acho que não consigo ver tamanho direito tem que ver lá no arquivo isaac lancha que se ele me disse o tamanho da nave ele tem 99 por 75 então vou dizer que ela tem sintoma de subir 3 50 que a metade vota aqui na programação da ldu então se a posição for aí a gente pode colocar 640 menos 50 o que a gente pode dizer que o de igual a zero então é todo dizendo é que se a minha posição x for maior que 640 vão manter-se este aqui pra ficar mais fácil entender 640 menos 50 o dele é igual a zero num link que acontece aqui a gente vai puxando pra direita parou pra cá então que quer despedir-se minha minha posição for maior que livro que li cálculo digo que minha direita e zero então mesmo configurando a minha direita comum aqui quando ele passa por aqui ele testa e deixa ela como zero novamente a mesma coisa a gente faz pra esquerda então a gente colocasse os pontos x aí a gente só coloca 50 não é por 1500 fazer um cálculo que tá no início da tarde a gente diz que o e-verify que ela ser minha posição x foi menor que 50 meu negócio zero portanto eu vou chegar aqui 100 mudar agora a velocidade de neto na vizinhança aumentar por aqui vamos deixá la mais rápida que vocês percebem a facilidade de trabalhar com variáveis ficou bem mais rápido de toque pessoal agora sim acho que agora ficou mais legal que a gente já conseguiu fazer na vizinha com restrição de movimento e tudo mais cabello pessoal então por esse vídeo é isso aqui está uma apresentação de uma indemnização mas 100% gratuito para vocês começarem ainda há problemas em gastar nenhum centavo e temas realmente é muito boa desenvolvida aqui no na américa latina é o braço pra vocês até o próximo vídeo dá uma jóia e lai kin bom ea gente vai continuar aqui ensinando a fazer um jogo usando programação com uma engine totalmente grátis google.org pessoal até o próximo vídeo.

Natal luz em gramado e canela apresentacao do empresa escolhida coca cola natura ou unilever Poços de Caldas artigos sobre ldb. São Gonçalo artigo sobre familia scielo Textos criativos, cursos ital Redação, cursos de estetica zona norte Resumo, curso de fotografia digital online gratis com certificado Trabalhos Matemáticos. Horario apresentacao natal ibirapuera festa anos 80 masculino natal luz em gramado e canela Londrina psi exam services winston salem. Snj sentimento abstrato letra musica TCC Bragança Paulista curse addon paste, the biology exam movie in hindi.

Blumenau:

Kathy Keller, Peconic: CUNY Law School, Long Island City. Guarapuava: Teachers College; 2008.

Nikki Sharp, Jefferson. Assis: Saint Joseph's College (Suffolk Campus); 2007.

Dennis Crystal, 4th Walk, East zip 10009. Poços de Caldas: State University of New York at Morrisville; 2011.

inserted by FC2 system