Menu
CoddyTech

Cái giỏ

Thuộc phần Vòng lặp trò chơi trong hành trình Pygame của Coddy. Bài học 26 trên 35.

Một trò chơi mới: các khối rơi từ trên xuống và bạn hứng chúng bằng một chiếc giỏ. Giỏ và các khối đều là hình chữ nhật, vì vậy chúng là các đối tượng pygame.Rect, giống như 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 của nó, basket.centerx.

Truyền trực tiếp Rect vào pygame.draw.rect(screen, color, basket). Rect cũng có thể tự giữ mình bên trong một Rect khác: basket.clamp_ip(screen.get_rect()) di chuyển nó trở lại bên trong cửa sổ khi nó 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ỏ bằng 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 Vòng lặp trò chơi

Tự luyện tập: Playground Pygame