사용자 도구

사이트 도구


raylib:flappy_bird_에_사운드를_입히기
flappy bird 에 사운드를 입히기

문서의 이전 판입니다!


플래피 버드 그림 입히기

스타팅 파일

오디오 기본 : 점프 효과음 만들기

위 스타팅 프로젝트 파일에는 에셋폴더에 jump.wav라는 효과음이 첨부되어 있다. 이를 이용할 것이다.

1. 오디오 디바이스 연결하기와 연결 끊기

main.cpp에서 게임창을 초기화하였으므로 바로 이어서 오디오도 초기화하자

가. 오디오 초기화

main.cpp에서 게임창을 만든 직후에 오디오를 초기화하자

    // 게임창 만들기 
    SetTargetFPS(60);               // Set our game to run at 60 frames-per-second
    InitWindow(screenWidth, screenHeight, "Flappy Bird"); 
 
    // 오디오 디바이스 초기화하기
    InitAudioDevice();      // Initialize audio device

나. 오디오 닫기

CloseWindow() 바로 전에 오디오를 닫는 함수를 부르자. while문이 종료된 다음에 불러와야 할 것이다.

    CloseAudioDevice();     // Close audio device
    CloseWindow();                  // Close window and OpenGL context
    return 0;

2. 사운드 선언 및 실행

가. bird.h

bird.h에 다음과 같이 점프에 사용할 사운드를 선언한다.

    Sound fxJump;         // Load WAV audio file

나. wave파일 할당하기

bird.cpp에서 Init문에서 사용할 wave파일을 할당하면 된다/

void Bird::Init()
{
    // 최초의 포지션 정하기
    pos = {150, float(GetScreenHeight()) / 2} ;
// 그림으로 넣기
    birdImage = LoadTexture("Assets/birddrawing.png");        // Texture loading
    fxJump = LoadSound("Assets/jump.wav");
}

다. 사운드 파일 메모리에서 해제 하기

끝나면 사운드 파일을 메모리에서 해제하는 것을 잊지 말자

Bird::~Bird()
{
    UnloadTexture(birdImage);       // Texture unloading
    UnloadSound(fxJump);     // Unload sound data
}

라. 사운드 사용하기

PlaySound()함수를 사용하면 된다. 쉽다.

void Bird::Jump()
{
    downSpeed = -jumpSpeed; 
    PlaySound(fxJump);      // Play WAV sound
}

3. 활용

이제 이것을 활용하여 플레이어가 장애물에 부딪히면 다치는 사운드도 만들어 보자.

그런데 Assets폴더에는 mp3로 되어 있다. 이것은 ConvertIO와 같은 변환사이트에서 변환하면 된다.

변환한 후에 해당 wav파일을 위와 똑같이 PlaySound()함수로 활용하면 된다.

이런 식으로 나머지 효과음도 집어 넣자. 나는 이렇게 코딩했다.

// 플레이어가 데미지를 입는 메서드
void Bird::Hurt()
{
    Life--;
    SetInvincible(true);    
 
    if (Life > 0)  PlaySound(fxHurt);
    else PlaySound(fxExplosion);
}
로그인하면 댓글을 남길 수 있습니다.

raylib/flappy_bird_에_사운드를_입히기.1697466701.txt.gz · 마지막으로 수정됨: 2023/10/16 23:31 (바깥 편집)