-
[openAL] #8. 방향키로 소리 움직이게 하기개발일지 2021. 10. 21. 16:17728x90
기존 튜토리얼에 있는 모듈들을 가지고, 방향키로 조작할때마다 그 방향으로 소리가 움직이도록 구현해보았다.
사운드는 stereo가 아닌 mono형식이어야만 적용된다.
기본 토대코드는 튜토리얼 코드를 참고하면 되고, 아래와 같이
GetAsyncKeyState를 이용하여 소리의 방향을 조절했다.
while (1) { if (_kbhit()) { if (GetAsyncKeyState(VK_LEFT)) pos[0] -= increase; if (GetAsyncKeyState(VK_RIGHT)) pos[0] += increase; if (GetAsyncKeyState(VK_UP)) pos[1] += increase; if (GetAsyncKeyState(VK_DOWN)) pos[1] -= increase; } alSource3f(source, AL_POSITION, pos[0], 0.f, pos[1]); ALint state; alGetSourcei(source, AL_SOURCE_STATE, &state); if (state != AL_PLAYING) alSourcePlay(source); SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0,0 }); printf("( X : %.4f, Z : %.4f )", pos[0], pos[1]); }상하좌우만 조절하였는데 꽤 잘작동하는듯 하다.
문제는 소리가 퍼지거나 너무 튄다고 해야하려나..
적절한 사운드를 구하는게 관건일 것 같다.
조용하고 튀지않고 소리형태가 퍼지지 않는 것으로..
'개발일지' 카테고리의 다른 글
[openAL] #10. 여러 소리 재생시켜보기 - 2 (0) 2021.10.26 [openAL] #9. 여러 소리 재생시켜보기 (0) 2021.10.25 [openAL] #7. 소리 재생 예제 만들기 (0) 2021.10.08 [openAL] #6. Guide 읽기 - 4 [에러 핸들링] (0) 2021.10.08 [openAL] #5. Guide 읽기 - 3 [소스 스트리밍 및 도플러 효과] (0) 2021.10.08