Tạo một game đơn giản
Bắt đầu bằng cách tạo một game đơn giản trong đó người chơi có thể di chuyển sang trái và phải. Để tạo game này, hãy cài đặt mô-đun Pygame bằng cách sử dụng pip:
pip install pygame
Nhập và khởi tạo mô-đun Pygame và tạo một cửa sổ có kích thước 500×500 với một chú thích (caption). Sau đó, khởi tạo các biến x, y, width, height và vel (vận tốc) cho người chơi.
import pygame
pygame.init()
window = pygame.display.set_mode((500,500))
pygame.display.set_caption("Simple Game")
x = 50
y = 50
width = 40
height = 60
vel = 5
run = True
Sau đó, tạo một vòng lặp while chạy cho đến khi bạn đóng cửa sổ game. Kiểm tra đầu vào bàn phím bằng phương pháp pygame.key.get_press(). Giảm hoặc tăng tọa độ x nếu người dùng nhấn phím mũi tên trái hoặc phải. Sau đó, vẽ một hình chữ nhật với tọa độ đã định và cập nhật màn hình.
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= vel
if keys[pygame.K_RIGHT]:
x += vel
window.fill((0,0,0))
pygame.draw.rect(window, (255,0,0), (x, y, width, height))
pygame.display.update()
pygame.quit()
Thêm nhạc nền bằng mô-đun Mixer
Thêm nhạc nền vào game là một quy trình đơn giản với mô-đun Mixer của Pygame. Bắt đầu bằng cách tạo một đối tượng nhạc và tải tệp nhạc bạn muốn. Sau đó, bạn sẽ có thể điều chỉnh âm lượng trước khi phát. Đây là một ví dụ:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Thêm hiệu ứng âm thanh bằng Mô-đun simpleaudio
Bạn cũng có thể thêm hiệu ứng âm thanh vào game bằng mô-đun simpleaudio. Để cài đặt mô-đun, gõ lệnh này:
pip install simpleaudio
Để bắt đầu, hãy nhập mô-đun simpleaudio và tạo WaveObject từ tệp âm thanh.
import simpleaudio as sa
sound = sa.WaveObject.from_wave_file('sound.wav')
Trong các kiểm tra hiện có cho các lần nhấn mũi tên, hãy gọi phương thức play() để phát âm thanh khi nhân vật di chuyển sang trái hay phải:
if keys[pygame.K_LEFT]:
x -= vel
play = sound.play()
if keys[pygame.K_RIGHT]:
x += vel
play = sound.play()
Các tính năng bổ sung như lặp nhạc và điều chỉnh âm lượng
Bạn cũng có thể triển khai các hiệu ứng cơ bản như lặp nhạc với hàm play() và điều chỉnh âm lượng với set_volume(). Hàm set_volume() nhận giá trị float từ 0 đến 1 để xác định âm lượng của nhạc. Hàm play() nhận một đối số chỉ định số lần lặp lại bản nhạc. Bằng cách chuyển -1 làm đối số, bạn có thể yêu cầu nó lặp lại nhạc.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
sound = sa.WaveObject.from_wave_file('sound.wav')
Thêm hai câu lệnh if để kiểm tra xem người dùng có nhấn phím mũi tên lên hoặc xuống hay không. Đặt âm lượng của nhạc thành 1,0 nếu họ nhấn phím mũi tên lên và 0,0 nếu họ nhấn phím mũi tên xuống.
if keys[pygame.K_UP]:
pygame.mixer.music.set_volume(1.0)
if keys[pygame.K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Các phương pháp khác để thêm nhạc và hiệu ứng âm thanh
Bạn cũng có thể sử dụng các phương pháp khác để thêm nhạc và hiệu ứng âm thanh, ví dụ như mô-đun pyglet. Dưới đây là đoạn code:
import pyglet
music = pyglet.media.load("bgmusic.wav")
music.play()
sound = pyglet.media.load("sound.wav")
sound.play()
Các mô-đun của bên thứ ba như pyglet cung cấp một cách hiệu quả hơn để thêm nhạc và hiệu ứng âm thanh.
Bạn có thể tìm thấy tất cả code từ các ví dụ trong kho lưu trữ GitHub này .
Tăng mức độ tương tác của người dùng với âm nhạc
Bạn có thể sử dụng âm nhạc và hiệu ứng âm thanh để tăng mức độ tương tác của người dùng với game của mình. Âm nhạc và hiệu ứng âm thanh có thể tạo thêm cảm giác đắm chìm, giúp game trở nên thú vị hơn nhiều.
Tìm hiểu các khóa học lập trình của FUNiX tại đây:
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/pygame-add-sound-effects-music/
Bình luận (0
)