https://github.com/an4pdm/prototipo-de-jogo
Primeiro protótipo de jogo criado a partir da linguagem Python. No 'README' estão as anotações feitas durante o processo de aprendizagem de criação de jogos.
https://github.com/an4pdm/prototipo-de-jogo
Last synced: 26 days ago
JSON representation
Primeiro protótipo de jogo criado a partir da linguagem Python. No 'README' estão as anotações feitas durante o processo de aprendizagem de criação de jogos.
- Host: GitHub
- URL: https://github.com/an4pdm/prototipo-de-jogo
- Owner: An4PDM
- Created: 2024-03-24T13:53:48.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-26T20:13:08.000Z (over 1 year ago)
- Last Synced: 2025-03-02T18:51:10.787Z (over 1 year ago)
- Language: Python
- Size: 5.86 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## *CRIAÇÃO DO AMBIENTE*
Primeiro, é necessário importar o pygame no repositório com:
```
import pygame
from pygame.locals import *
from sys import exit # Essa função diz que a janela é fechada ao clicar em 'exit'
```
Com 'pygame.init', o jogo é basicamente 'iniciado'.
Na variável tela, é possível adicionar as dimensões da janela do jogo diretamente ou através de variáveis.
Para o jogo não travar, é necessário ter um loop principal. O código abaixo é o PADRÃO para o loop principal:
```
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
pygame.display.update()
```
É DENTRO DO 'FOR' QUE SE COLOCA OS EVENTOS QUE ACONTECEM DURANTE O JOGO!
## *CRIAÇÃO DE OBJETOS*
Para a criação de objetos, deve-se utilizar a lógica do PLANO CARTESIANO.
X = EIXO HORIZONTAL; Y = EIXO VERTICAL (PARA BAIXO).
Também é possível inserir cor no objeto, isso é feito com a sigla RGB(Red,Green,Blue), que varia de 0 a 255.
```
pygame.draw.rect(tela, (255,0,0), (200,300,40,30))
# Usa-se 'rect' para RETÂNGULO, 'circle' para CÍRCULO, line para LINHA.
pygame.draw.rect(tela,(255,0,0),(0,300,40,30))
pygame.draw.circle(tela, (0,255,0), (300,300), 40)
pygame.draw.line(tela, (255,255,40), (400, 300), (500, 300), (10))
```
primeiro parâmetro = local
segundo parâmetro = cor
terceiro parâmetro = dois números para POSIÇÃO no local, e os últimos dois para o TAMANHO do objeto.
```
tela.fill((0,0,0)) # Para 'limpar' a tela quando o objeto anda.
```
## *OBJETO SE MOVE SOZINHO*
```
if y>= altura:
y = 0
y = y + 1
```
## *OBJETO SENDO CONTROLADO, PORÉM SEM PRESSIONAR A TECLA*
```
if event.type == KEYDOWN:
if event.key == K_a:
x = x - 20
if event.key == K_d:
x = x + 20
if event.key == K_w:
y = y - 20
if event.key == K_s:
y = y + 20
```
## *OBJETO SENDO CONTROLADO COM PRESSÃO NA TECLA*
```
if pygame.key.get_pressed()[K_a]:
x = x - 20
if pygame.key.get_pressed()[K_d]:
x = x + 20
if pygame.key.get_pressed()[K_w]:
y = y - 20
if pygame.key.get_pressed()[K_s]:
y = y + 20
# Neste caso, o objeto sai da tela. Para isso não acontecer, usar o código:
if pygame.key.get_pressed()[K_a]:
if x > 0:
x -= 20
if pygame.key.get_pressed()[K_d]:
if x < (largura - 40):
x += 20
if pygame.key.get_pressed()[K_w]:
if y > 0:
y -= 20
if pygame.key.get_pressed()[K_s]:
if y < (altura - 50):
y += 20
```
## *COLISÕES*
```
if ret_vermelho.colliderect(ret_roxo):
print('colisão')
Código acima paa testar a colisão.
```