Làm thế nào để thêm hiệu ứng màu sắc rực rỡ bằng pygame?

Category: Pygame

Pygame là một thư viện Python chuyên dùng để thiết kế và xây dựng trò chơi. Pygame chỉ hỗ trợ các trò chơi 2D được xây dựng bằng các sprite khác nhau. Pygame không thực sự phù hợp để thiết kế trò chơi vì nó rất phức tạp và không có giao diện người dùng đồ họa (GUI) chuẩn như Unity, nhưng chắc chắn nó sẽ xây dựng logic cho các dự án phức tạp hơn.

Cài đặt:

Trước khi khởi tạo thư viện pygame, chúng ta cần cài đặt nó. Để cài đặt, hãy nhập lệnh bên dưới vào terminal.

pip install pygame

Hiệu ứng Color Breezing:

Pygame chứa mã màu dưới dạng một bộ ba giá trị, biểu thị cường độ của ba màu cốt lõi: đỏ, xanh dương và xanh lá cây. Giá trị của từng màu có thể được thay đổi để tạo ra một màu duy nhất khác. Vì các giá trị của bộ ba cũng có thể thay đổi trong thời gian chạy, nên chúng ta có thể linh hoạt thêm một số hiệu ứng màu sắc để làm cho trò chơi/ứng dụng của mình trở nên độc đáo và đẹp mắt hơn.

Một trong những hiệu ứng màu sắc là hiệu ứng breezing. Hiệu ứng breezing là hiệu ứng màu sắc chuyển từ sắc độ này sang sắc độ khác một cách mượt mà, không đột ngột hay thay đổi đột ngột. Những hiệu ứng này có thể được thấy trên bàn phím và chuột RGB.

Ví dụ:

import pygame
import random
import sys

# khởi tạo pygame
pygame.init()

# thiết lập màn hình với kích thước 720x720
screen = pygame.display.set_mode((720,720))

# ba thành phần màu RGB được tạo ngẫu nhiên
c1 = random.randint(0,255)
c2 = random.randint(0,255)
c3 = random.randint(0,255)

# khởi tạo biến clock để kiểm soát tốc độ khung hình
clock = pygame.time.Clock()

while True:
    for ev in pygame.event.get():
        if ev.type == pygame.QUIT:
            pygame.quit()
            
    # tăng sắc độ màu hiện tại
    if 0 < c1 < 255:
        c1 += 1
        
    # nếu c1 vượt quá 255, đặt lại về 0
    elif c1 >= 255:
        c1 -= 255
        
    # nếu c1 nhỏ hơn hoặc bằng 0, tăng lên 3
    elif c1 <= 0:
        c1 += 3
        
    # thiết lập tốc độ khung hình game là 60 fps
    clock.tick(60)
    
    # tô màu nền bằng bộ màu (c1, c2, c3)
    screen.fill((c1,c2,c3))
    
    # cập nhật khung hình game
    pygame.display.update()

Đầu ra:

Published on Jul 28, 2025

Related Posts