Menu
CoddyTech

Cái giỏ

Bài học 9 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.

Một trò chơi mới: các khối rơi từ trên xuống và bạn bắt chúng bằng một chiếc giỏ. Giỏ và các khối là hình chữ nhật, nên chúng là các pygame.Rect, giống viên ngọc và chiếc thùng trong Gem Hunt.

basket = pygame.Rect(200, 330, 80, 16)

Ngoài basket.x và basket.y, một Rect còn biết các cạnh của nó: basket.left, basket.right, basket.top, basket.bottom và điểm giữa, basket.centerx.

Truyền thẳng Rect vào pygame.draw.rect(screen, color, basket). Nó cũng có thể tự giữ mình bên trong một Rect khác: basket.clamp_ip(screen.get_rect()) đưa nó trở lại bên trong cửa sổ khi vượt qua một cạnh. screen.get_rect() là Rect của chính cửa sổ.

challenge icon

Thử thách

Dễ

Tạo chiếc giỏ cho trò chơi Catch the Blocks.

  1. Trước vòng lặp, tạo basket = pygame.Rect(200, 330, 80, 16).
  2. Trước khi tô nền, di chuyển giỏ 8 pixel mỗi khung hình khi bạn giữ phím Left hoặc Right, sau đó dùng basket.clamp_ip(screen.get_rect()).
  3. Sau khi tô nền, vẽ giỏ màu xanh lam (80, 160, 255).

Nhấn Chơi và giữ phím Left hoặc Right: chiếc giỏ sẽ dừng ở mép. Sau đó nhấn Kiểm tra.

Tự làm thử

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()

Tất cả bài học trong Tạo trò chơi với Pygame

Tự luyện tập: Playground Pygame