Menu
CoddyTech

Sigue el puntero

Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 13 de 32.

En este capítulo crearás Gem Hunt, un juego que se juega con el ratón. El diamante celeste es la gema: un polígono cuyas cuatro esquinas se calculan a partir de gx y gy.

pygame.mouse.get_pos() proporciona la posición del puntero en la ventana como (x, y), medida desde la esquina superior izquierda, como todo lo demás. Léela en el bucle para que esté actualizada en cada fotograma:

mouse_x, mouse_y = pygame.mouse.get_pos()
pygame.draw.circle(screen, (240, 240, 240), (mouse_x, mouse_y), 10, 2)

La primera línea desempaqueta la tupla en dos variables. La segunda dibuja un anillo en esa posición para que el jugador vea lo que señala. Dibújalo al final, después de la gema, o la gema lo cubrirá.

Lee la posición una sola vez, antes del bucle, y el anillo se quedará donde estaba el puntero cuando empezó el juego.

challenge icon

Desafío

Fácil
  1. En el bucle, después de dibujar la gema, lee la posición del puntero con pygame.mouse.get_pos().
  2. Dibuja allí un anillo blanco (240, 240, 240): un círculo con radio 10 y grosor 2.

Pruébalo tú mismo

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Gem Hunt")
clock = pygame.time.Clock()

gx, gy = 225, 165

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    gem_points = [(gx + 15, gy), (gx + 30, gy + 15), (gx + 15, gy + 30), (gx, gy + 15)]
    pygame.draw.polygon(screen, (80, 220, 255), gem_points)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Todas las lecciones de El bucle del juego

Practica por tu cuenta: Playground de Pygame