엔진음과 포탄음이 동시에 재생되지 않는 문제해결
207
작성한 질문수 2
아래와 같이 SoundEngine_Singleton.h의 void playSound(const std::string & sound_name)함수에 const bool& _simultaneus=false 파라메타를 추가하였고
if (!_simultaneus)
if (is_playing) return;
위와 같이 조건을 추가하여 포탄에 대해서만 중첩된 사운드가 재생되게 하였습니다.
포탄을 연속으로 쏘면 의도한 대로 포탄효과음이 연속으로 잘 재생 됩니다.(missile음은 제거하였음)
하지만 탱크를 움직이면서 (엔진음이 나는 상태에서) 포탄이 연속으로 발사되면 소리가 잘 나지 않는 문제가 발생합니다.
엔진음이 재생중인 상태에서 새로이 포탄음이 재생되지 못하게 되는것 같은데...
어떻게 해결방법에 접근해야 할런지 가르침을 부탁드립니다.
void playSound(const std::string & sound_name,const bool& _simultaneus=false)
{
if (sound_map.count(sound_name) <= 0) {
std::cout << sound_name << " isn't initialized." << std::endl;
exit(-1);
}
const auto & sound_ptr = sound_map[sound_name];
auto & channel_ptr = channel_map[sound_ptr];
bool is_playing = false;
result = channel_ptr->isPlaying(&is_playing);
if (!_simultaneus) // play overlabed sound at the same time
if (is_playing) return; // don't play if this is already playing
result = system->playSound(sound_ptr, 0, false, &channel_ptr);
if (result != FMOD_OK) {
std::cout << "system->playSound() fail" << std::endl;
exit(-1);
}
}
답변 1
0
안녕하세요.
제가 교수님대신 답변 드리는 일을 하고 있는데, 이 <게임 만들기 연습 문제 패키지> 강의는 제가 수강한지 오래되어 많이 까먹은 상태입니다. 😅 그래서 뭔가 세세하게 짚어드리기엔 제가 다시 공부를 하고 코드를 전부 리뷰해야하는 상황이네요 ㅠㅠ
그렇지만 이 강의를 수강할 때 대부분의 연습문제를 풀이하여 블로그에 정리해놨었는데요, 질문 주신 내용인 "탱크가 엔진음을 내며 이동하는 상태에서 동시에 포탄음을 내는" 것도 구현하여 코드와 결과 유튜브로 포스팅해놓은 적이 있습니다.
https://ansohxxn.github.io/c++%20games/chapter1-5-prac/
제 블로그의 해당 포스트 링크입니다. 엔진음 내면서 포탄 쏘는 부분에 대한 구현 코드를 정리해놓았으니 코드 참고해보셨으면 좋겠습니다! 잘 해결 되셨으면 좋겠네요
깃허브에서 받은 코드가 왜 강의코드랑 다를까요
0
72
1
Mac vscode 으로 시작하시려는 분들께
0
311
1
마우스 좌우 버튼을 동시에 눌렀을 때의 원의 위치
0
423
1
정답은 어디서볼수있나요?
1
346
2
예제코드
1
490
2
따배C++ 몇 강까지 학습한 후 수강가능 할까요?
1
642
1
15:00 부근 질문 있습니다.
0
418
1
(20.4 참고) 20.4에 해당하는 가이드 페이지가 어디있는지 모르겠습니다.
0
371
1
multimap 질문
0
352
2
도형들의 움직임이 너무 빠릅니다...
0
463
1
vcpkg 설치를 했는데
0
682
2
mutiple bullet 관련 질문 드립니다.
0
479
2
실행 후 화면 꺼짐
0
578
2
예제 파일 실행 시, 에러
1
555
1
아직 못풀어도 괜찮을까요?
0
499
1
코드 열었을 때 오류
1
807
3
코딩공부에 대해서 막히는부분
0
334
1
vcpkg 설치 오류
0
591
2
랜덤값 질문입니다.
0
425
1
vcpkg 다운로드에 문제를 겪고있습니다
1
423
1
if 문에 >= 대신 == 넣으면 작동을 하지 않는 이유가 무엇인가요.
0
278
1
multiple bullet 문제
0
309
1
프로그램 실행 순서 질문
0
269
1
2.2.2 상속으로 깔끔하게 init 메서드 질문
0
222
1





