ページ 11

無題

Posted: 2009年11月05日(木) 03:51
by 初心者
DXライブラリで音楽をフェードアウトさせる方法が分からないのですが
どうしたらいいかご存じの方がいましたら教えてください。

Re:無題

Posted: 2009年11月05日(木) 08:07
by Dixq (管理人)
私なら

typedef struct{
    int Flag;
    float Vol;
}Fadeout_t;
Fadeout_t Fadeout;

このような構造体を用意して、フェードアウトさせたい瞬間フラグを立て、徐々に減らしていきます。
フラグを立てる瞬間は

Fadeout.Flag = 1;
Fadeout.Vol  = 255;

こう。で、計算部分では

if( Fadeout.Flag==1 ){
    Fadeout.Vol -= ○○;
    ○○に音量を変更;
    if(Fadeout.Vol<0){
        Fadeout.Flag=0;
    }
}

このように、○○分減らしながらその音量に設定し、0を下回るとフラグを戻すといった感じです。
特にこれといった決まった方法があるわけではないと思いますが、私はこうやってます。

Re:無題

Posted: 2009年11月05日(木) 09:23
by 初心者
返答ありがとうございます。ただ、
龍神録で"音量"に当たる部分の関数が見当たらないのですが(SEでないほう)
どういった関数を使えばいいのでしょうか?

Re:無題

Posted: 2009年11月05日(木) 12:37
by Dixq (管理人)
龍神録では、特に作っていません。
なので、適当に関数を作ればよいかと思いますよ。

void SetMusicVol(){
}

とでもかいて、メイン計算部から呼べばいいと思います。
この関数の中ですべき処理については前述の通りです。