標準ライブラリ - 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)
func Main()
var res : float
do res :: BGM@Play("bgm.ogg", 0.0, 0.0) {再生開始}
do Dbg
@Log(res
.ToStr
()) {0 と表示される
} do Kuin@Stop() {Kuinを終了させないようにガードガード}
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)
func Main()
const FPS : int :: 30 {Ver0.031ではFPSが30}
do Dbg
@Log("これよりbgm.oggを再生する") do BGM@Play("bgm.ogg", 0.0, 0.0)
while(true)
do Kuin@Act()
if(Kuin@Cnt() = FPS*10)
do Dbg
@Log("10秒経過。これよりbgm.oggを5秒かけてフェードアウトする") do BGM@PlayFade("bgm2.ogg", 0.0, 0.0,FPS*5) {5秒かけてフェード}
elif(Kuin@Cnt() = FPS*15)
do Dbg
@Log("フェードアウト完了。これよりbgm2.oggの再生を開始する") elif(Kuin@Cnt()%5 = 0)
do Dbg
@Log(Kuin
@Cnt
().ToStr
() ~
"frameカウント中...")
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)
func Main()
const FPS : int :: 30 {Ver0.031ではFPSが30}
do Dbg
@Log("これよりbgm.oggを再生する") do BGM@Play("bgm.ogg", 0.0, 0.0)
while(true)
do Kuin@Act()
if(Kuin@Cnt() = FPS*10) {10秒経過したらフェード開始}
do Dbg
@Log("10秒経過。これよりbgm.oggを5秒かけてフェードアウトする") do Dbg
@Log("また同時に、bgm2.oggの再生を開始し、5秒かけてフェードインする") do BGM@PlayCross("bgm2.ogg", 0.0, 0.0,FPS*5) {5秒かけてフェード}
elif(Kuin@Cnt() = FPS*15)
do Dbg
@Log("bgm.oggのフェードアウト完了と、bgm2.oggのフェードイン完了を確認") elif(Kuin@Cnt()%5 = 0)
do Dbg
@Log(Kuin
@Cnt
().ToStr
() ~
"frameカウント中...")
Stop() : float
説明
再生中の曲を停止します。
引数
戻り値
- float
- 初回再生時は0を返す。
- 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。
サンプルコード(Ver0.031)
func Main()
const FPS : int :: 30 {Ver0.031ではFPSが30}
do Dbg
@Log("これよりbgm.oggを再生する") do BGM@Play("bgm.ogg", 0.0, 0.0)
while(true)
do Kuin@Act()
if(Kuin@Cnt() = FPS*10) {10秒経過したらフェード開始}
do Dbg
@Log("10秒経過。これよりbgm.oggを停止する。") do BGM@Stop()
elif(Kuin@Cnt()%5 = 0)
do Dbg
@Log(Kuin
@Cnt
().ToStr
() ~
"frameカウント中...")
StopFade(fadetime:int) : float
説明
再生中の曲をfadetimeで指定したフレーム数かけてフェードアウトしながら停止します。
引数
- fadetime:int
- フェードにかけるフレーム数を指定する。
- Ver0.031では、(処理落ちしない限り)30fpsなので、例えば約5秒間なら150と指定する。
戻り値
- float
- 初回再生時は0を返す。
- 以降は再生に成功したら再生中の曲の再生位置(≠今から流そうとする曲の位置)、再生に失敗したら0を返す模様。
サンプルコード(Ver0.031)
func Main()
const FPS : int :: 30 {Ver0.031ではFPSが30}
do Dbg
@Log("これよりbgm.oggを再生する") do BGM@Play("bgm.ogg", 0.0, 0.0)
while(true)
do Kuin@Act()
if(Kuin@Cnt() = FPS*10) {10秒経過したらフェード開始}
do Dbg
@Log("10秒経過。これより5秒かけてbgm.oggをフェードアウトする。") do BGM@StopFade(FPS*5)
elif(Kuin@Cnt() = FPS*15)
do Dbg
@Log("bgm.oggの停止を確認。") elif(Kuin@Cnt()%5 = 0)
do Dbg
@Log(Kuin
@Cnt
().ToStr
() ~
"frameカウント中...")
テンプレメソッド(ひきすー:ひきすうかたー) : もどりちー
説明
テンプレメソッドの説明をここにー
引数
戻り値
サンプルコード(Ver0.031)
func Main()
{素敵なソースコードをここにー}
最終更新:2013年07月24日 16:21