ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

サウンドのボリューム

鳴らしているSEのボリュームを変更したかったので、Soundクラスを見てみるとフェードインアウトはあるがボリュームの設定は見当たらない。そこで追加してみた。

public int SetVolume(int volume)
{
    if (NoSound) return -1;
    if (manager.music == this) return SDL.Mix_VolumeMusic(volume);
    for (int i=0;i<8;++i){
        if (manager.chunk[i] == this) return SDL.Mix_VolumeChunk(chunk, volume);
    }
    return -1;
}

引数には0から128の値を設定する。関数の戻り値は前回のボリューム値。
一応、正しく動作しているように聞こえるが自信なし。
デフォルトのボリュームに戻すのはどうすればいいのだろう。ボリュームに-1を設定すればいいのかと思ったがどうやら違うようだ。