Transcrições
1. Introdução: A coisa incrível sobre fazer jogos é que você começa a ver o seu progresso e interagir com ele instantaneamente na tela. Nesta classe, você estará criando toques pom em muitos aspectos diferentes de fazer jogos no jogo de torta . Então eu só tinha que mover objetos na tela através de entrada do usuário e como verificar se há colisão entre objetos. Se você é completamente novo na programação ou você já sabe algumas das noções básicas, esta classe é uma maneira perfeita de aprender a usar o jogo de pizza e obter alguma experiência no desenvolvimento de jogos em.
2. Como definir a tela: Muito bem, bem-vinda lição de fazer pong em Python. Então, nesta lição, vamos apenas configurar a nossa tela. Então aqui eu tenho ocioso aberto, e nós vamos criar um novo arquivo indo aqui para o canto superior esquerdo e clicando em arquivo e você arquivar ele deve ser semelhante nas janelas, e nós vamos salvá-lo clicando em comando nós ou vindo para o topo e clicando em arquivo novamente e salvar como eu vou chamá-lo Pong. E você quer ter certeza de adicionar o ponto p y para especificar que é um python. - Tudo bem. Ok, então a primeira coisa que queremos fazer é importar jogo de tortas. O jogo de torta é a biblioteca principal que vamos usar. Teoh faz este jogo. Então vamos fazer do jogo de torta importar Astra, o que significa importar tudo naquela biblioteca. Agora vamos definir nossa tela com a qual eu vou fazer 900 você pode mudá-lo, o que você quiser. Então, tudo o que
eu fizer, vou fazer de uma certa maneira. Mas você pode se sentir livre para ir em frente e mudar um experimento e fazer suas próprias coisas , e eu vou achar que a altura da tela é 600. Agora vamos definir a nossa tela. Então tela é exibição e queremos adicionar no nosso com aqui e nossa altura, e você quer ter certeza de que você incluir esses colchetes de bolha. São importantes neste caso. Agora vamos encontrar algumas cores que vamos usar por todo o lado, então vamos começar com branco, e eu gosto de usar todo o capital porque eles são constantes. As variáveis da tese não vão mudar. Então branco é apenas 55 a 55. Esse é o código RGB para branco, e eu vou definir nossa cor de fundo. Então a cor de fundo que vou usar é uma espécie de cor verde azulada. Mas você pode se sentir livre para ser qualquer cor rgb que você gostaria. Então é 0 a 20 final 16 e agora eu vou definir azul, que vai ser representado pelo jogador. Um remo, e vou usar um azul mais tarde. É o código RGB para isso. Ou na verdade é 230 e vermelho, que é 230 50 e 100 lado. Ok, então essas são as cores que vamos usar agora, nós também temos que definir essa variável que eu vou chutar chamadas em execução e nós vamos
configurar um relógio. Assim, o relógio garante que o programa execute apenas 60 quadros por segundo, nem menos nem mais. Então é isso que o relógio faz. Agora vamos começar o nosso ciclo principal. Então, durante a execução e observe como a execução é definida como true. Então esta é a condição que tem de ser cumprida para que o nosso ciclo continue. E este é o loop principal para o nosso jogo. Este é o lugar onde a lógica do nosso jogo vai ser Rin. Então o loop vai continuar enquanto correr está definido como verdadeiro e podemos terminar nosso jogo mudando correndo para falso. Então é isso que vamos fazer agora. Então vamos montar nosso ouvinte de eventos, e isso é exatamente assim. E queremos verificar se o jogador fecha o jogo. Então isso vai ser um evento. Esse tipo é igual a sair. E o que isso significa é que o jogador fechou o jogo clicando no especialista no topo. E se o jogador fizer isso, vamos terminar nosso ciclo definindo correr para falso e, claro, isso vai parar nossa lei correndo loop. Ok em. Então temos o nosso circuito principal configurado. Agora temos que preencher nossa tela. Então, temos que ter certeza de que nossa cor de fundo está constantemente sendo atualizada na tela para que,
por exemplo,se por exemplo, um remo se mover, o retângulo antigo para o remo não desapareça a menos que pintemos o tela. Então pense nisso como repintando cada quadro. Então é isso que vamos fazer o suficiente para a tela ponto preencher cor BG. Então, isso garante que estamos repintando a tela com um novo set fora da parte de trás na cor, cada quadro único em Finalmente, temos que neste pedaço de código, e isso só deve certificar-se de que a nossa tela está sendo atualizado também ofender. Vamos atualizar o nosso relógio e, finalmente, fora do circuito, vamos adicionar desistência. Então o que isso faz é quando o loop termina, isso vai ser chamado, que fecha o programa. Tudo bem, isso é tudo para a primeira lição
3. As paços: de volta Bem-vindosde voltaà lição de fazer Pong e Python. Então foi aqui que paramos, e esqueci de executar o programa da última vez. Mas isso é tudo o que é. Apenas uma janela em branco com a nossa cor de fundo. Então, nesta lição, vamos montar nossas pás, e também vamos permitir que o jogador ou, na verdade, ambos os jogadores movam as pás usando W e s para o jogador um e os iraquianos para jogador, também. Certo, então vamos começar definindo nossas variáveis. Há mais algumas variáveis que temos de definir. Então o 1º 1 é a variável One Why jogador. Então esta é a razão pela qual a coordenada do remo do jogador. E isso, é claro, vai ser alterado com base em como o jogador interage com o remo. E o 2º 1 é, claro, o jogador a remar o branco. Então eu vou definir isso em 250 que é aproximadamente no meio da tela. Mais uma vez, estas são as coordenadas brancas das pás. Eu também vou definir o remo com que vai ser em torno de 30. Claro que você pode mudar isso para seus gostos e altura do remo, que eu vou fazer. Ah, altura. Tudo bem. Não consigo soletrar. Vou definir isso como 100. Ok, então agora vamos definir nossos retângulos de remo. Então este é um objeto no jogo de torta, e é assim que você criou. Então vamos em frente e fazer um remo limpo, que é um objeto destruído, e temos que passar na coordenada x. Então a coordenada X do nosso remo é que vamos ajustá-lo para 50. Esse é o 1º 1 e você pode brincar com isso. Mas acho que 50 funciona, e a coordenada Y é, claro, nossa P 1. Por que o com vai ser o nosso remo com e a altura vai ser a nossa altura de remo. Está bem. E esse é o nosso jogador. Um remo. Agora vamos copiar isto, e vamos mudar o nome para jogador para remar. E a única diferença é que em vez de a coordenada X ser 50 agora é 8 50 a
coordenada y vai ser jogador para que a largura e a altura permanecem as mesmas. Ok, agora, para a segunda parte deste tutorial. Vamos começar a receber as respostas. A tecla pressiona dos jogadores. Então, a maneira que vamos fazer isso como temos que ouvir as chaves então vamos fazer chaves é igual chave. Não fique sublinhado pressionado. Então esta chave esta variável está recebendo as teclas pressionadas mais recentes. Certo, claro que dissemos que o jogador 1 vai ser W e S. Então vamos verificar se as teclas W estão sendo pressionadas. Então é assim que vamos fazer isso. E a segunda coisa que temos que verificar é se o jogador um remo ainda não está no topo da tela. Então, é claro, agora estamos apenas verificando se o jogador um está pressionando
a tecla Y, a tecla W, que supostamente faz seu jogador subir seu remo, mas não queremos que ele suba se já estiver no topo da tela. Então a maneira que vamos fazer isso é verificar se o jogador um por que também é maior que zero. Então só permitimos que ele suba se a coordenada Y for maior que zero. Certo, então se for esse o caso, se for o jogador. Um é permitido subir. Vamos subtrair cinco das coordenadas Y. Claro, zero está no topo. E à medida que descemos, os valores aumentam. Então subtraindo cinco fará a torta, ela vai subir. E agora precisamos fazer nossas declarações LF então, caso contrário, queremos verificar se o jogador está pressionando a tecla s, e também queremos ter certeza de que ele não está já na parte inferior da tela. Assim que vamos fazer isso é pegar o y, coordenar, e vamos adicionar nossa altura. Então nossa altura do remo e vamos verificar se isso é menor que a altura da tela. E é assim que podemos garantir que ele ainda não está na parte inferior da tela. E se for esse o caso, queremos adicionar cinco à nossa coordenada Y. Então cinco é essencialmente a velocidade das pás, e você pode mudar isso para o que quiser. Acho que cinco dá
certo, certo, então agora vamos copiar este código,
e vamos fazer a mesma coisa para o jogador, então, em vez de w para jogadores, vai realmente ser as teclas de seta para cima e para baixo. E também queremos verificar se jogador por que é grande e zero. E queremos verificar aqui Jogador para sábio. Bem, tudo bem. Oh, e nós queremos mudar isso também. Então, de novo, nós apenas copiamos. O que mudamos é para cima e para baixo. Mudamos de jogador para aqui, jogador para ouvir, jogador para ouvir e jogador dois aqui. Certo, então a última coisa que temos que fazer é tirar nossas pás. Então isso define os retângulos, mas não estamos desenhando na tela para que possamos descer aqui e fazer desenhar,
direto, direto, e o primeiro parâmetro é a tela. Então nós vamos no tipo de tela, e então nós vamos tipo de cor. Então dissemos, jogador um vai ser azul, e vamos em frente e enviar um remo ao jogador. Isso é formigamento direto que vamos desenhar. Agora estamos chegando exatamente à mesma coisa para o jogador aceitar. Isso vai ser lido, e nós queremos mudar isso para ele também. Tudo bem, é
isso. Então vamos em frente e executar nosso código. E lá vamos nós. Então nós temos o nosso jogador um, e nós temos o nosso jogador para. E como você pode ver, ele não pode passar pelas bordas da tela. Tudo bem, é
isso.
4. A bola: Muito bem, bem-vindos ao menos três de fazer Pong e Python. Então é aqui que paramos e temos nossas pás e podemos controlá-las usando W e s para a esquerda, Paddle nas setas para o remo direito. Nesta lição, vamos construir a nossa bola, e também vamos programar a colisão da bola. Tudo bem, então vamos começar definindo as coordenadas X e Y da bola para que a coordenada X seja 450 e a coordenada ampla será 300. E este é aproximadamente o centro da tela. Agora vamos definir os componentes horizontais e verticais para a velocidade da bola Isto é essencialmente apenas uma velocidade de bola. Então vamos chamar esses atos corporais e careca, e para que a bola se mova, vamos repetidamente dentro do loop no componente de velocidade horizontal na
coordenada X, a fim de obter a bola para se mover horizontalmente e o componente vertical eu sou velocidade no milho y, a fim de obter a bola TEM de verticalmente. Portanto, note que quando o componente horizontal é positivo, a bola vai se mover para a direita porque adicionar um número positivo irá movê-lo para a direita. E se o componente horizontal é negativo, adicionando um número negativo bem diminuiu o X Corps, a coordenada X e fará com que a bola se mova para a esquerda. O mesmo se aplica com o componente vertical. Se o D Y é positivo, adicionando um número positivo dois o milho branco, ele vai aumentar as bolas y coordenar para que a bola vai se mover para baixo. E se Baldy y é um valor negativo, adicionando um valor negativo às bolas, que coordenada fará com que a guerra de acordo com a diminuição, fazendo a bola subir? Tudo bem, então agora vamos fazer a bola se mover. Na verdade, antes de
fazermos isso, devíamos definir a bola. Então vamos chamar a bola. É um objeto destruído, e a coordenada X é um machado de bola. O milho branco é bola. Por que e o com e o alto nosso barco dezenas. Claro, você pode mudar o tamanho da bola e também você pode alterar as velocidades ao seu gosto. Eu acho que quatro é uma velocidade bastante decente, mas se você acha que a bola deve se mover mais rápido. Você pode mudar isso agora vamos fazer a bola se mover. Então, a fim de obter o fundo de nós temos que estranho careca x para a coordenada X e ímpar bola D y para a coordenada y. Observe que isso acontece toda vez que o loop passa. Muito bem, agora vamos escrever o código para a colisão das bolas. Então a primeira coisa que temos que verificar a colisão é a bola colidindo com
as pás. Então vamos começar verificando colisão com o jogador, um remo ou o remo
à esquerda . Então queremos ler se declaração e queremos verificar se a bola colide com P um título. E se acontecer, o que queremos fazer é esquecer um suporte. Se a bola colide com o remo à esquerda, queremos criar, ou queremos definir o componente de velocidade horizontal bolas para estar se movendo para a direita. Então isso significa que queremos que seja positivo. E a melhor maneira de fazer isso é pegar o valor absoluto disso. Então vamos fazer o ato Baldy é igual ao valor absoluto da bola DX. Certo, agora temos que fazer a mesma coisa, só que queremos verificar a colisão com o remo à direita, então tudo bem. E se isso acontecer, o que queremos fazer é que nós queremos que nós tomemos nós queremos definir Baldy X como o valor negativo, porque se for negativo, as bolas começam
a se mover para a esquerda. Então vamos fazer a mesma coisa. Vamos pegar o valor absoluto. Mas agora queremos multiplicá-lo por um negativo. Tudo bem? E isso deve mandar a bola se mover para a esquerda. E, na verdade, isso deve ser suficiente. Certo, agora queremos verificar a colisão com a bola e o topo da tela. Então queremos verificar se as bolas por que coordenar é menor ou igual a zero. E isso significaria que a bola está no topo da tela porque a parte superior da tela aqui tem uma coordenada y de zero. E se isso acontecer, queremos definir a bola d y para ser um valor positivo, e eu vou enviar a bola para baixo. E agora queremos verificar a colisão da bola com a parte inferior da tela. E podemos fazer isso verificando se a bola o valor Y da bola Oh, não D Y simplesmente cair de largura é maior ou igual à altura da tela. Oh, é sobre essa hora. E se for, queremos fazer Baldy y e valor negativo, e assim podemos tomar o valor absoluto dele e multiplicado por um negativo. A última coisa que temos para verificar a colisão é com a bola e os
lados direito e esquerdoda tela. A última coisa que temos para verificar a colisão é com a bola e os
lados direito e esquerdo E se a bola colidir com o lado esquerdo ou direito da tela, isso significa que um dos jogadores tem um ponto. E então o que queremos fazer é redefinir as coordenadas X e Y da bola para que
a bola comece no meio novamente, e também queremos redefinir as pás do Jogador 1 e do Jogador 2 para que eles também estejam
no meio. Certo, então vamos verificar se a bola na coordenada X é maior ou igual à tela com, e isso nos dirá se a bola ISS atinge a tela do lado direito ou a bola. A coordenada X é menor ou igual a zero. E isso nos dirá se a bola atingiu o lado esquerdo da tela e dentro daqui. Queremos definir a coordenada X do Báltico para 50 a coordenada y. Queremos definir isso para 300. Queremos colocar os jogadores brancos, o único acorde nele para o jogador. Uma pá de 2 a 50 e a coordenada Y para o jogador remar 2 a 50 também. Tudo bem, então este é todo o código para a colisão. E assim, apenas para recapitular, isso verifica a colisão entre a bola no remo esquerdo. Esta é a bola no remo direito. Estas são as partes superior e inferior da tela. E, finalmente, estes são o lado da tela. Tudo bem, há uma última coisa a fazer, que é desenhar a bola real para a tela. Então nós vamos fazer o sorteio direto, e nós vamos deixar a bola branca, e então nós vamos passar envolvidos. Tudo bem, é
isso. Vamos executar nosso programa e colide. Onde eu estraguei isso? Colidir? Direto. Mas desculpe, a culpa é minha. Então, em vez de colide, você realmente quer definir isso para colidir. Direto. Tudo bem, e lá vamos nós. Aí está a nossa bola e vamos ver se funciona com o remo. Lá vamos nós saltos da garrafa. Mesmo com este remo e vamos ver se ele vai para a borda da tela. E lá vai. A bola começa no meio e nossos jogadores reiniciam. Tudo bem, é
isso.
5. A pontuação: Tudo bem. Bem-vindos ao menos quatro de fazer Pong e Python. Então foi aqui que paramos da última vez. Temos nossa bola se movendo e montamos toda a colisão para a bola. Nesta lição, vamos fazer um sistema de pontuação, e também vamos exibir a pontuação dos jogadores no topo da tela. Ok, então a primeira coisa que queremos fazer é definir uma fonte para que possamos realmente exibir a pontuação. Então vamos digitar a fonte para inicializar nosso fundo. E também queremos definir uma fonte. Agora você pode usar qualquer diversão para gostar ou qualquer fonte que seja insulto em seu computador. Vou usar Calibri. Então, Khalid Revolt 35 é o nome Opus sobre Calibri. Negrito 35 é o nome da variável que vai segurar a fonte, e é uma frente do sistema ligada. Então. Aqui é onde você digitaria o nome do fundo. Então eu estou usando Calibri negrito, e é tamanho 35. Muito bem agora, temos que definir mais algumas variáveis. E o primeiro 1 é o jogador um pontos que vamos definir para zero e jogador dois pontos , que também é zero. Certo, agora o que temos que fazer é ir até aqui até a seção de colisão. E é isso que verificamos a colisão para a bola e os lados da tela. Agora, até agora, tudo o que estamos a fazer é verificar se a bola colide com a esquerda ou a direita. Mas agora queremos saber especificamente com que lado ele colide para dar aos
jogadores os pontos que eles merecem. Então vamos verificar se a bola colide com o lado direito, vendo se a coordenada X é maior que a largura da tela. E se colidir com o lado direito da tela, isso significa que o jogador um tem um ponto. Então aqui, nós queremos fazer o jogador. Um ponto mais é igual a um. Certo, agora queremos verificar se colide com o lado esquerdo. E se fizer Clyde com o lado esquerdo, significa
que o jogador tem um ponto. Então vamos fazer um jogador. Dois pontos mais é igual a um. Sim. Tudo bem. Então agora temos nossas variáveis de pontos e seu aumento à medida que cada jogador recebe um ponto pela bola batendo no lado da tela. Agora, a última coisa a fazer é exibir as pontuações no topo da tela. Então nós vamos descer aqui e vamos definir o nosso jogador um ponto de texto. Este vai ser o texto real que será renderizado. Então vai usar a frente Khalid Bree Bold 35 que definimos anteriormente. E vamos Teoh, Jogador
certo, um ponto. Este é o texto real que vamos usar e podemos adicionar um semi ou dois pontos. Quero dizer, e queremos adicionar nossos pontos reais. Então nós temos que convertê-lo em uma string,
porque a partir de agora, é um indigente e então nós temos que convertê-lo em uma string e então nós queremos type true aqui. E, finalmente, queremos digitar a cor que queremos que a fonte seja exibida. Então vamos usar azul e queremos fazer exatamente a mesma coisa para o jogador dois pontos, exceto que temos que mudar esse dedo para e temos que mudar isso para um e temos que mudar isso para fazer. Claro, temos que mudar a cor também. Então
também vou usar o Red como jogador . Agora, a última coisa a fazer é colocar este texto na tela. Então vamos fazer Screen dog Bleidt player um ponto de texto, e eu vou colocá-lo em 100 e 30. Comum 20. Então essas são as coordenadas X e Y do jogador. Um ponto, texto em. Temos que fazer a mesma coisa com o jogador, também, e vamos colocar isso em 620. Comum 20. Tudo bem, isso é tudo. Vamos em frente e código de corredor. E como você pode ver, nossos pontos aparecem. Então, se permitirmos jogador para Digger ponto como você pode ver os pontos aumentar e agora vamos começar jogador. Quero ganhar um ponto. E lá vamos nós. Isso é tudo.