Chạy nước rút
Bài học 6 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.
Giá trị của một biến có thể thay đổi ở mỗi khung hình, tùy thuộc vào thao tác của người chơi. Ở đây, tốc độ phụ thuộc vào việc bạn có nhấn giữ phím Space hay không.
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8Mỗi khung hình bắt đầu với tốc độ bình thường là 4. Chỉ khung hình nào có nhấn phím Space mới tăng tốc độ lên 8. Thả phím Space ra thì khung hình tiếp theo trở về tốc độ 4.
Đặt giá trị bình thường trước, rồi đến giá trị đặc biệt. Nếu viết theo thứ tự ngược lại, dòng thứ hai luôn có hiệu lực và phím Space sẽ không làm gì cả.
Thử thách
DễCho nhân vật chạy nhanh khi bạn giữ phím Space.
- Xóa
speed = 4ở phía trên vòng lặp. - Trong vòng lặp, ngay sau
keys = pygame.key.get_pressed(), đặtspeed = 4, rồi đặt thành8nếu bạn giữ phím Space.
Nhấn Chơi và giữ phím Space cùng với một phím mũi tên: hình vuông di chuyển nhanh gấp đôi. 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("Move the Square")
clock = pygame.time.Clock()
x, y = 220, 160
speed = 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
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ềnTự luyện tập: Playground Pygame