La cesta
Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 23 de 32.
Un nuevo juego: los bloques caen desde arriba y los atrapas en una cesta. La cesta y los bloques son rectángulos, así que son pygame.Rect, como la gema y la caja en Gem Hunt.
basket = pygame.Rect(200, 330, 80, 16)Además de basket.x y basket.y, un Rect conoce sus bordes: basket.left, basket.right, basket.top, basket.bottom y su centro, basket.centerx.
Pasa el Rect directamente a pygame.draw.rect(screen, color, basket). Y puede mantenerse dentro de otro Rect: basket.clamp_ip(screen.get_rect()) lo mueve de vuelta al interior de la ventana cuando sobrepasa un borde. screen.get_rect() es el Rect propio de la ventana.
Desafío
Fácil- Antes del bucle, crea
basket = pygame.Rect(200, 330, 80, 16). - En el bucle, antes del relleno, muévelo 8 píxeles por fotograma mientras mantienes pulsada la tecla izquierda o derecha; después, mantenlo dentro de la ventana con
basket.clamp_ip(screen.get_rect()). - Después del relleno, dibújalo en azul
(80, 160, 255).
Pruébalo tú mismo
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Todas las lecciones de El bucle del juego
1Mueve un cuadrado
Abre una ventanaRellena el fondo4Movimiento basado en el tiempo
Tiempo deltaPíxeles por segundoVector2Aceleración y fricciónReaparecer al otro lado de la pantallaPractica por tu cuenta: Playground de Pygame