Lleva la puntuación
Lección 13 de 40 del curso Crea juegos con Pygame de Coddy.
El texto en pygame es una imagen de las palabras. Un objeto pygame.font.Font convierte una cadena en una superficie, y dibujas esa superficie con screen.blit.
font = pygame.font.Font(None, 32)
text = font.render(f"Score: {score}", True, (240, 240, 240))
screen.blit(text, (10, 10))Font(None, 32) es la fuente integrada de pygame, de 32 píxeles de alto. Créala una vez, antes del bucle. render(text, True, color) dibuja las palabras; True suaviza sus bordes. blit(surface, (x, y)) copia la imagen en la pantalla con la esquina superior izquierda en (x, y).
Representa el texto dentro del bucle, después del relleno. La puntuación cambia, y una imagen creada una sola vez sigue mostrando el número anterior.
Desafío
Fácil- Antes del bucle, crea
font = pygame.font.Font(None, 32)yscore = 0. - Suma 1 a
scorecuando la cesta atrape un bloque. - Después de dibujar el bloque, renderiza
f"Score: {score}"en(240, 240, 240)y dibújalo en(10, 10).
Pruébalo tú mismo
import random
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()
basket = pygame.Rect(200, 330, 80, 16)
block = pygame.Rect(220, 0, 20, 20)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
basket.x -= 8
if keys[pygame.K_RIGHT]:
basket.x += 8
basket.clamp_ip(screen.get_rect())
block.y += 3
if block.top > 360:
block.y = -20
block.x = random.randint(0, 460)
if block.colliderect(basket):
block.y = -20
block.x = random.randint(0, 460)
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 160, 255), basket)
pygame.draw.rect(screen, (235, 80, 80), block)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Crea juegos con Pygame
2Eventos y colisiones
La cestaUn bloque que caePractica por tu cuenta: Playground de Pygame