팀 과제 제출전에팀원들이랑 같이 작업한 파일들을 한곳에 취합해서 디버깅 , 오류잡기
원했던것 처름 잘 진행이 되나 테스트 해봤다
잘 진행이 되게끔 이미 탁근님께서 작업을 해두셔서 원활하게 진행 할 수 있었다
취합을 다 하고 진행시켰을때 다른 팀원분깨서 pygame 모듈을 사용해서 배경음도 넣으셨는데
배경음을 어떻게 넣나 궁금해져서 한번 확인을 해봤다
일단 pygame 모듈이 필요했고
pygame 을 진행할때 꼭
pygame.init() # pygame을 진행할 때 꼭 초기화를 해줘야한다.
이렇게 넣고 시작 시작해줬다
배경음 파일을 로드해줘야한다
loading_sound = pygame.mixer.Sound("bgm/loding.mp3")
loading_sound.play() # -1 을 하면 무한 반복한다.(게임이 끝나면 꺼짐)
loading_sound.set_volume(0.1)
로딩 사운드 변수에 시작할때 바로 시작이 될 로딩음을 넣어주셨고
무한반복을 하지 않을거라 -1 이라고 넣지않았다
사운드 볼륨이 너무 커서 .set_volume(0.1) 을 넣어 볼륨을 줄였다
우리는 1층부터 15층까지 몬스터와 연속 배틀하는 게임을 만들었는데
일반 층에서는 일반 몬스터 배경음이 , 보스층인 5, 10 ,15 층은 따로 보스 배경음을 넣어주고싶었다
반복문을 사용해서 배틀에 진입하기 전에
sound.stop()
pygame.mixer.init()
시작될때 나왔던 배경음을 정지시켜주고 다시 초기화해주는 함수를 써줬다
현재 재생 중인 BGM 파일 경로 초기화
current_bgm_file_path = ""
이전 BGM 중지 및 새로운 BGM 재생 을 하게 이렇게 먼저 작업을 해주고
if current_bgm_file_path != bgm_file_path:
pygame.mixer.music.stop()
pygame.mixer.music.load(bgm_file_path)
pygame.mixer.music.set_volume(bgm_volume)
pygame.mixer.music.play(-1)
current_bgm_file_path = bgm_file_path
그리고 반복문을 돌다가 5, 10 , 15 층이 나오면 보스 배경음을 , 아닌 층에서는 일반 몬스터 배경음이 나오게 해줬다
while floor <= 15:
# 현재 층의 몬스터 리스트 가져오기
monster_list = eval(f"classes.floor{floor}")
# 층마다의 bgm 설정
if floor in [5, 10, 15]:
bgm_file_path = "bgm/boss_battle.mp3"
bgm_volume = 0.5
else:
bgm_file_path = "bgm/monster.mp3"
bgm_volume = 0.1
마찬가지로 배경음이 너무 커서 배겸음을 줄여줬다