2012年07月05日

BGM切替のテクニック

ゲーム中にBGMを切り替える場合に前の曲がフェードアウトしてから別の曲に切り替わるとクールですよね。自分の場合はこんなサブルーチンを組み込んでBGMをフェードアウト後に切り替えています。

@INIT
BGMTRK=0
@MAIN
(メイン処理)
IF LEFTTIME>200 GOTO @MAIN
IF HRYF==0 THEN BGMF=1:HRYF=1:BGMNO=13:FADETIME=2
GOSUB @BGMCHG
GOTO @MAIN

@BGMCHG
ON BGMF GOTO @BGMCHG0,@BGMCHG1,BGMCHG2
@BGMCHG0
RETURN

@BGMCHG1
BGMSTOP BGMTRK,FADETIME:BGMF=2
RETURN

@BGMCHG2
IF BGMCHK(BGMTRK)==TURE THEN RETURN
BGMPLAY BGMTRK,BGMNO:BGMF=0
RETURN

通常時はBGMFは0で@BGMCHGをコールしてもすぐRETURNするのでBGM切替は起きません。何らかの条件(サンプルの場合は残り時間が200を切った場合)にBGMFを1にしてBGM切替をします。HRYFはBGMが切り替え条件が整ったフラグとして使用しています。FADETIMEはフェード時間でBGMNOは切り替えるBGMの番号です。
このプログラムではトラック0に対して機能します。他のトラックにBGMを割り当てる場合は@INITの"BGMTRK=0"の設定を変更して下さい。
ラベル:テクニック
posted by otta777 at 09:35| Comment(0) | プチコンmkII | このブログの読者になる | 更新情報をチェックする

2012年07月01日

瀬戸内海殺人海流

マイコンBASICMagazine DELUXEII掲載の田中勇氏作瀬戸内海殺人海流MZ-80K/C/E/1200版プチコンmkIIに移植しました。BGを使っていますがプログラム内で定義をしているのでBGリソースファイルはありません。
西村寿行氏のバイオレンス小説が元ネタだそうです。
制限時間内に画面中央付近で浮き沈みしている死体をボートで回収して下さい。ボートはほぼ漂流状態にあるので潮路に上手く乗るように舵をきって死体に近づいて下さい。
ボートを上下に進めるにはBボタン、左右に進めるにはAボタンを押します。ボタンを押さなければ一定の潮路を周回するだけです。死体は浮いている瞬間にしか回収できません。死体の浮き沈みの周期とボートの周回の周期が合わなくて死体が回収できないときは潮路を変えてみて下さい。0.5%の確率でボートは渦に飲み込まれて他の海域に放り出されてしまいます。
死体回収時の残り時間がスコアーとなります。




PRG:OT7SATU
2012年7月2日 プログラムに一部不具合があった他、デバッグ修正。

ot7satu_qr0.png ot7satu_qr1.png ot7satu_qr2.png
posted by otta777 at 23:37| Comment(0) | プチコンmkII | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。