BGM


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

標準ライブラリ - BGM

説明

BGMには、曲を再生したいときに使用すると便利なメソッドが含まれています。
曲ではなく、効果音(SE)を再生する場合には、Sndを使用することが好ましいとされています。
なお、このライブラリだけ全部大文字なので注意。Backgroundは1語なので、法則からするとBgMかBgmのどちらかだと思うんだが。




所有メソッド

Play(path:[]char,playpos:float,looppos:float) : float

説明

pathに与えた曲を再生します。
playposとloopposは未実装の模様。

引数

  • path:[]char
    • 再生したい曲のファイルパスを指定します。
    • dbgresディレクトリからの相対パス指定も可能
  • playpos:float
    • (推定)再生を開始したい位置を指定します。
    • Ver0.031現在未実装なので0.0を指定すると良い。
    • なお、指定する値はおそらく(sec)単位で指定。(曲の長さ以上の秒数を指定すると例外が発生したため)
  • looppos:float
    • (推定)曲が最後まで再生された後、ループを再開したい位置を指定します。
    • Ver0.031現在未実装なので0.0を指定すると良い。
    • なお、指定する値はおそらく(sec)単位で指定。(曲の長さ以上の秒数を指定すると例外が発生したため)

戻り値

  • float
    • 初回再生時は0を返す。
    • 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。

サンプルコード(Ver0.031)

  1. func Main()
  2. var res : float
  3. do res :: BGM@Play("bgm.ogg", 0.0, 0.0) {再生開始}
  4. do Dbg@Log(res.ToStr()) {0 と表示される}
  5. do Kuin@Stop() {Kuinを終了させないようにガードガード}
  6. end func



PlayFade(path:[]char,playpos:float,looppos:float,fadetime:int) : float

説明

再生中の曲をfadetimeフレームかけてフェードアウトした後、pathに与えた曲を再生します。
playposとloopposは未実装の模様。
フェードアウト開始時に強制的に音量が最大になる模様。
また、フェードを掛ける前の曲と新たに再生する曲は、 別のファイルでなくてはならない。

引数

  • path:[]char
    • 再生したい曲のファイルパスを指定します。
    • dbgresディレクトリからの相対パス指定も可能
  • playpos:float
    • (推定)再生を開始したい位置を指定します。
    • Ver0.031現在未実装なので0.0を指定すると良い。
    • なお、指定する値はおそらく(sec)単位で指定。(曲の長さ以上の秒数を指定すると例外が発生したため)
  • looppos:float
    • (推定)曲が最後まで再生された後、ループを再開したい位置を指定します。
    • Ver0.031現在未実装なので0.0を指定すると良い。
    • なお、指定する値はおそらく(sec)単位で指定。(曲の長さ以上の秒数を指定すると例外が発生したため)
  • fadetime:int
    • フェードにかける フレーム数 を指定する。
    • Ver0.031では、(処理落ちしない限り)30fpsなので、例えば約5秒間なら150と指定する。

戻り値

  • float
    • 初回再生時は0を返す。
    • 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。

サンプルコード(Ver0.031)

  1. func Main()
  2. const FPS : int :: 30 {Ver0.031ではFPSが30}
  3. do Dbg@Log("これよりbgm.oggを再生する")
  4. do BGM@Play("bgm.ogg", 0.0, 0.0)
  5. while(true)
  6. do Kuin@Act()
  7. if(Kuin@Cnt() = FPS*10)
  8. do Dbg@Log("10秒経過。これよりbgm.oggを5秒かけてフェードアウトする")
  9. do BGM@PlayFade("bgm2.ogg", 0.0, 0.0,FPS*5) {5秒かけてフェード}
  10. elif(Kuin@Cnt() = FPS*15)
  11. do Dbg@Log("フェードアウト完了。これよりbgm2.oggの再生を開始する")
  12. elif(Kuin@Cnt()%5 = 0)
  13. do Dbg@Log(Kuin@Cnt().ToStr() ~ "frameカウント中...")
  14. end if
  15. end while
  16. end func



PlayCross(path:[]char,playpos:float,looppos:float,fadetime:int) : float

説明

再生中の曲をfadetimeフレームかけてフェードアウトしつつ、pathに与えた曲をフェードインします。
playposとloopposは未実装の模様。
フェードアウト開始時に強制的に音量が最大になる模様。
また、フェードを掛ける前の曲と新たに再生する曲は、 別のファイルでなくてはならない。

引数

  • path:[]char
    • 再生したい曲のファイルパスを指定します。
    • dbgresディレクトリからの相対パス指定も可能
  • playpos:float
    • (推定)再生を開始したい位置を指定します。
    • Ver0.031現在未実装なので0.0を指定すると良い。
    • なお、指定する値はおそらく(sec)単位で指定。(曲の長さ以上の秒数を指定すると例外が発生したため)
  • looppos:float
    • (推定)曲が最後まで再生された後、ループを再開したい位置を指定します。
    • Ver0.031現在未実装なので0.0を指定すると良い。
    • なお、指定する値はおそらく(sec)単位で指定。(曲の長さ以上の秒数を指定すると例外が発生したため)
  • fadetime:int
    • フェードにかける フレーム数 を指定する。
    • Ver0.031では、(処理落ちしない限り)30fpsなので、例えば約5秒間なら150と指定する。

戻り値

  • float
    • 初回再生時は0を返す。
    • 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。

サンプルコード(Ver0.031)

  1. func Main()
  2. const FPS : int :: 30 {Ver0.031ではFPSが30}
  3. do Dbg@Log("これよりbgm.oggを再生する")
  4. do BGM@Play("bgm.ogg", 0.0, 0.0)
  5. while(true)
  6. do Kuin@Act()
  7. if(Kuin@Cnt() = FPS*10) {10秒経過したらフェード開始}
  8. do Dbg@Log("10秒経過。これよりbgm.oggを5秒かけてフェードアウトする")
  9. do Dbg@Log("また同時に、bgm2.oggの再生を開始し、5秒かけてフェードインする")
  10. do BGM@PlayCross("bgm2.ogg", 0.0, 0.0,FPS*5) {5秒かけてフェード}
  11. elif(Kuin@Cnt() = FPS*15)
  12. do Dbg@Log("bgm.oggのフェードアウト完了と、bgm2.oggのフェードイン完了を確認")
  13. elif(Kuin@Cnt()%5 = 0)
  14. do Dbg@Log(Kuin@Cnt().ToStr() ~ "frameカウント中...")
  15. end if
  16. end while
  17. end func



Stop() : float

説明

再生中の曲を停止します。

引数

  • なし
    • ないよっ

戻り値

  • float
    • 初回再生時は0を返す。
    • 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。

サンプルコード(Ver0.031)

  1. func Main()
  2. const FPS : int :: 30 {Ver0.031ではFPSが30}
  3. do Dbg@Log("これよりbgm.oggを再生する")
  4. do BGM@Play("bgm.ogg", 0.0, 0.0)
  5. while(true)
  6. do Kuin@Act()
  7. if(Kuin@Cnt() = FPS*10) {10秒経過したらフェード開始}
  8. do Dbg@Log("10秒経過。これよりbgm.oggを停止する。")
  9. do BGM@Stop()
  10. elif(Kuin@Cnt()%5 = 0)
  11. do Dbg@Log(Kuin@Cnt().ToStr() ~ "frameカウント中...")
  12. end if
  13. end while
  14. end func



StopFade(fadetime:int) : float

説明

再生中の曲をfadetimeで指定したフレーム数かけてフェードアウトしながら停止します。

引数

  • fadetime:int
    • フェードにかける フレーム数 を指定する。
    • Ver0.031では、(処理落ちしない限り)30fpsなので、例えば約5秒間なら150と指定する。

戻り値

  • float
    • 初回再生時は0を返す。
    • 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。

サンプルコード(Ver0.031)

  1. func Main()
  2. const FPS : int :: 30 {Ver0.031ではFPSが30}
  3. do Dbg@Log("これよりbgm.oggを再生する")
  4. do BGM@Play("bgm.ogg", 0.0, 0.0)
  5. while(true)
  6. do Kuin@Act()
  7. if(Kuin@Cnt() = FPS*10) {10秒経過したらフェード開始}
  8. do Dbg@Log("10秒経過。これより5秒かけてbgm.oggをフェードアウトする。")
  9. do BGM@StopFade(FPS*5)
  10. elif(Kuin@Cnt() = FPS*15)
  11. do Dbg@Log("bgm.oggの停止を確認。")
  12. elif(Kuin@Cnt()%5 = 0)
  13. do Dbg@Log(Kuin@Cnt().ToStr() ~ "frameカウント中...")
  14. end if
  15. end while
  16. end func



テンプレメソッド(ひきすー:ひきすうかたー) : もどりちー

説明

テンプレメソッドの説明をここにー

引数

  • ひきすー:ひきすうかたー
    • ひきすーのせつめー

戻り値

  • もどりちかたー
    • もどりちせつめいー

サンプルコード(Ver0.031)

  1. func Main()
  2. {素敵なソースコードをここにー}
  3. end func