소리 크기
Coddy Pygame 여정의 사운드와 게임의 손맛 섹션에 포함된 레슨. 23개 중 3번째.
각 사운드에는 0.0(무음)부터 1.0(파일의 최대 음량)까지 고유한 음량이 있습니다. 새 사운드는 1.0에서 시작합니다. set_volume()으로 음량을 변경하세요:
step_sound.set_volume(0.3)게임의 음량 균형을 맞출 때 사용하세요. 항상 재생되는 발소리는 작게 하고, 드물게 들리는 폭발음은 크게 할 수 있습니다. 1.0보다 큰 값은 1.0으로 간주되므로, set_volume(5)를 사용해도 음량이 최대가 될 뿐 다섯 배 커지지는 않습니다.
설정 화면에서는 화면에서 보기 편하도록 음량을 0부터 10까지의 값으로 표시하는 경우가 많습니다. 사운드의 음량 값을 구하려면 10으로 나누세요:
volume = 5
click_sound.set_volume(volume / 10)사운드의 음량은 다시 설정할 때까지 유지됩니다. 플레이어가 volume을 변경하면 set_volume()을 다시 호출하세요. 그렇지 않으면 사운드는 이전 음량으로 재생됩니다. get_volume()을 사용하면 현재 사운드의 음량을 알 수 있습니다.
챌린지
쉬움위쪽 및 아래쪽 키를 누르면 volume이 0에서 10까지 바뀌고, 스페이스 키를 누르면 클릭 소리가 재생되어 소리를 들을 수 있습니다. 클릭 소리가 설정을 따르도록 하세요.
volume = 5다음에click_sound.set_volume(volume / 10)을 호출하세요.- 위쪽 또는 아래쪽 키를 눌러
volume이 바뀔 때마다 다시 호출하세요.
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Volume")
clock = pygame.time.Clock()
font = pygame.font.Font(None, 32)
click_sound = pygame.mixer.Sound("assets/sounds/click.ogg")
volume = 5
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and volume < 10:
volume += 1
elif event.key == pygame.K_DOWN and volume > 0:
volume -= 1
elif event.key == pygame.K_SPACE:
click_sound.play()
screen.fill((30, 30, 46))
label = font.render(f"Volume: {volume}", True, (240, 240, 240))
screen.blit(label, (40, 120))
for i in range(10):
color = (90, 200, 120) if i < volume else (60, 60, 80)
pygame.draw.rect(screen, color, (40 + i * 40, 170, 32, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
사운드와 게임의 손맛의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드