A Nave de Patrulha
Parte da seção Sprites e imagens do Journey de Pygame da Coddy. Lição 29 de 36.
Hora de criar um jogo completo: Star Patrol. Ondas de naves inimigas descem voando do topo. Sua nave patrulha a parte inferior da janela, movendo-se para a esquerda e para a direita e disparando lasers para cima. Destrua todas as ondas para vencer; deixe três inimigos passarem ou colida com eles e o jogo acaba.
Todos os objetos do jogo serão sprites: o jogador, seus lasers, os inimigos e suas explosões. O jogador vem primeiro, como no capítulo 4:
class Player(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = ship_image
self.rect = self.image.get_rect(midbottom=(320, 470))Carregue ship_image uma vez, depois da janela. O método update move o Rect com as setas e o mantém dentro da janela. O loop principal chama player.update() e desenha a nave.
Este capítulo desenvolve o mesmo programa lição por lição, então mantenha os nomes indicados nas tarefas: as verificações encontram as partes do jogo por meio deles.
Desafio
Médio- Carregue
assets/images/ship.pngemship_image. - Escreva
class Player(pygame.sprite.Sprite): imagemship_image, Rect com o centro da borda inferior em(320, 470)e umupdateque a mova 6 pixels por quadro com as teclas Esquerda e Direita e a mantenha dentro da janela. - Crie
player = Player(); a cada quadro, chameplayer.update()e desenheplayer.imageemplayer.rectapós o preenchimento.
Experimente você mesmo
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Star Patrol")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((12, 14, 30))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Todas as lições de Sprites e imagens
1Carregando imagens
Carregue uma imagemPosicione-a com um RectMova a imagemLadrilhe o plano de fundoPixels transparentes4Sprites e Grupos
A classe SpriteGruposRemover com kill()Capturar com spritecollideGrupo contra grupo7Patrulha Espacial
A Nave de PatrulhaDispare Lasers2Girar, Inverter, Redimensionar
Girar em torno do centroFicar de frente para a direção do vooRedimensionar uma imagemGirar a partir do original3Classes para Objetos de Jogos
Sua primeira classeMétodosSelf é o objetoUma lista de objetosObjetos com imagensUma subclasse6Animação com Sprite Sheets
Recorte uma Sprite SheetUm contador de quadrosAnime com o tempoUma explosão de disparo únicoPratique por conta própria: Playground de Pygame