寝ても覚めてもゲーム製作 - ウェブログ-ログ

ニコニコのブロマガで書いてたやつの保守。更新予定ほぼなし。

hspogg.dll の使い方とかの 今更補足


前回のこれ
http://ch.nicovideo.jp/milky_way/blomaga/ar691175
一年位前ですが。


懐かしの画像


使用しているツールとかの規約整理してたら
テキストに使用ライブラリについての表記が必要だと判明したので
お気を付けください。私も見落としてました。

ユーザーがHSPOGGを使って作成したオリジナルのソフトウェア(実行ファイル)の権利は、
それを作成したユーザーに属します。
ただし、HSPOGGランタイムには、OggVorvis形式のファイルデコードにXiph.org Foundation
のライブラリを使用しており、配布規定に従って以下の表記をする必要があります。

--------------------------------------------------------------------------------
OggVorvis形式のファイルデコードに以下のライブラリを使用しています
libvorbis : Copyright (c) 2002-2004 Xiph.org Foundation
--------------------------------------------------------------------------------

「hspogg.txt」著作権とライセンスの項より一部引用

くわしくはdoclibフォルダの中のhspogg.txtをご覧ください。

というのだけで更新するのもなんなので
サンプルとかあったほうがいいと思い、付け足しておこうとおもいます。


簡単!
HSPで曲を(以下略
サンプル編


そんなわけで、以下サンプル。
ご自由にどうぞ。


#include "hspogg.as"

//hspoggサウンド機能初期化
dmmini

//変数の初期化
dim music_id, 1
sdim music_num, 256, 1

//読み込むファイルの名前を入れる
//テキストに書いて読み込んでもよいかと
music_name(0) = "a.ogg", "b.ogg" //, "c.ogg" ...etc

//読み込む。

foreach music_name

dmmload music_name(cnt), -1
music_id(cnt) = stat

loop

//----------------------------------------------------------
//各設定

music_pan = -1000
music_vol = 0

dmmloop music_id(0), 44100
//dmmvol music_id(0), music_pan
//dmmpan music_id(0), music_vol


//----------------------------------------------------------
//再生
dmmplay music_id(0)

//----------------------------------------------------------
//監視(再生が終わったらブレイクする)
repeat -1

await 17
dmmstat music_stat, music_id(0), 16

if music_stat == 0 : break

stick key, 15

//パンをふる
if key \ 2 / 1 == 1 : music_pan -100
if key \ 8 / 4 == 1 : music_pan +100

//ボリュームを変える
if key \ 4 / 2 == 1 : music_vol -50
if key \ 16 / 8 == 1 : music_vol +50


if 1 <= key && key <= 15 {

dmmvol music_id(0), music_vol
dmmpan music_id(0), music_pan

}

loop


//----------------------------------------------------------
//終了処理

dmmbye
end


インデントが使えないのでどうしようもないのです。
各人でインデントしてください。すみません。

あと特筆する点があるとすれば
wav再生はおまけで結構対応してないところが多いようです

dmmstatとか使えないっぽい。