Palabras en pantalla
Parte de la sección Python en una ventana de juego del Journey de Pygame de Coddy. Lección 8 de 32.
Pulsa Run: la palabra Comet aparece en la esquina superior izquierda. Tres líneas la colocan allí:
font = pygame.font.Font(None, 36)
text = font.render("Comet", True, (230, 230, 240))
screen.blit(text, (20, 20))La fuente se crea una sola vez, en la parte de configuración: la fuente propia de pygame con tamaño 36. render convierte una cadena en una imagen de color (True suaviza sus bordes), y screen.blit coloca esa imagen en la ventana, con la esquina superior izquierda en (20, 20). Todos los juegos que muestran texto usan estas tres líneas.
Para mostrar el valor de una variable, escribe una cadena f: una f antes de la comilla de apertura y el nombre entre llaves:
f"Comet x: {comet_x}"Cuando comet_x contiene 58, esto es la cadena Comet x: 58. Sin la f, las llaves y el nombre se muestran tal como están escritos.
Desafío
IntermedioHaz que la etiqueta muestre dónde está el cometa: cambia "Comet" por f"Comet x: {comet_x}". El número aumenta a medida que vuela el cometa.
Pruébalo tú mismo
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Prepara todo aquí, antes del bucle del juego.
moon_x = 160
moon_y = 120
comet_x = 40
comet_y = 200
font = pygame.font.Font(None, 36)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Haz los cambios aquí, una vez por fotograma.
comet_x = comet_x + 2
screen.fill((20, 24, 48))
# Dibuja aquí, después de rellenar la pantalla.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)
text = font.render("Comet", True, (230, 230, 240))
screen.blit(text, (20, 20))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Todas las lecciones de Python en una ventana de juego
2Números y variables
Ponle nombre a un valorHaz cálculosMueve en cada fotogramaPalabras en pantallaNúmeros enteros y decimalesPractica por tu cuenta: Playground de Pygame