Hai thanh đỡ
Bài học 31 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.
Hai người chơi dùng chung một bàn phím. Người chơi bên trái dùng W và S, người chơi bên phải dùng phím mũi tên lên và xuống. Mỗi thanh chắn là một Rect chỉ di chuyển lên xuống.
left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)Các phím chữ cái có dạng pygame.K_w, pygame.K_s và tương tự, viết thường. Đọc trạng thái cả bốn phím từ một lần gọi pygame.key.get_pressed(), để cả hai người chơi có thể giữ phím cùng lúc.
Giữ cả hai thanh chắn trong cửa sổ bằng clamp_ip, như bạn đã làm với chiếc giỏ.
Thử thách
DễThêm một thanh đỡ cho mỗi người chơi.
- Trước vòng lặp, tạo
left = pygame.Rect(20, 160, 12, 80)vàright = pygame.Rect(568, 160, 12, 80). - Di chuyển
leftlên hoặc xuống 6 pixel bằng W và S, và di chuyểnrightbằng phím lên và xuống. Giữ cả hai trong cửa sổ. - Vẽ
leftmàu xanh dương(80, 160, 255)vàrightmàu đỏ(235, 80, 80).
Nhấn Chơi rồi nhấn W và phím lên: cả hai thanh đỡ đều di chuyển. Sau đó nhấn Kiểm tra.
Tự làm thử
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()
ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
ball.x += vx
ball.y += vy
if ball.top <= 0 or ball.bottom >= 400:
vy = -vy
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), ball)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tất cả bài học trong Tạo trò chơi với Pygame
1Vòng lặp trò chơi
Mở cửa sổTô màu nền4Hai người chơi và một quả bóng
Quả bóngNảyTự luyện tập: Playground Pygame