Đồng hồ
Bài học 4 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.
Vòng lặp của bạn chạy nhanh hết mức máy tính có thể: hàng nghìn khung hình mỗi giây trên máy nhanh, ít hơn trên máy chậm. Trò chơi cần chạy với cùng tốc độ trên mọi máy.
pygame.time.Clock giúp giữ nhịp độ. Tạo một đối tượng trước vòng lặp, rồi gọi clock.tick(60) một lần ở cuối mỗi lượt lặp. Hàm này chờ khi cần để vòng lặp chạy tối đa 60 lần mỗi giây.
clock = pygame.time.Clock()
running = True
while running:
# xử lý sự kiện, vẽ, cập nhật màn hình
clock.tick(60)60 khung hình mỗi giây là tốc độ thông thường để chuyển động mượt mà. Từ giờ, một vật di chuyển 4 pixel mỗi khung hình sẽ di chuyển 240 pixel mỗi giây.
Thử thách
DễCho trò chơi chạy ở tốc độ 60 khung hình mỗi giây.
- Bên dưới dòng
set_caption, tạo đồng hồ:clock = pygame.time.Clock(). - Ở dòng cuối cùng của vòng lặp, sau lệnh lật màn hình, gọi
clock.tick(60).
Nhấn Chơi: hình vuông trông vẫn như cũ, giờ được vẽ 60 lần mỗi giây. 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")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
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