アフィリエイト広告を利用しています
 

2023年12月13日

【ゲーム制作】3Dダンジョンロールプレイングゲーム 第65回



3Dダンジョンロールプレイングゲーム 第65回目です。
前回、「探索」→「戦闘」→「探索」→「戦闘」→…の切り替えテストを行いました。
そこで気付いたのですが…、

BGM忘れてました!
普段、パソコンの音を鳴らさないので、BGMがどうなってるか全く気にしていませんでした。

敵と遭遇しフェードアウトする前に「探索」BGMを停止し、敵の表示時に「戦闘」BGMを開始する必要があります。

「戦闘」ロジック進めたいけど、これ今直しておかないと後でバグ取りロジック組みまくることになりそうなので、ここでやっておきます。
これは常駐ロジック(&HC000~&HD9FF)の方に入れる必要があるので、以前に作った使わないフェードアウトCとDを削除し、そこに組み込みます。

まず、走査線割込み内でBGM切り替えロジックを組みます。
12_13_3.png
(元々は、そのままBGM1 PLAYに進んでいた。)
12_13_4.png
変数「演奏予約BGMav(&HE023)にBGMb設定しておくと、走査線割り込みが掛かった時に、このロジックでアドレスを設定し演奏が始まります。
演奏開始されると変数「演奏予約BGMavには&HFFがセットされます。
因みに変数「演奏予約BGMavに「0」を代入すると演奏停止になります。























BGM曲名使用場所
1探索ダンジョン探索中
2戦闘戦闘中
3お店宿屋、武器屋、道具屋内

12_13_1.png
(元プログラム)
現状、走査線割込み開始ロジックから直接メインプログラムに飛んでいるのですが、ここは分割し、走査線割込み開始部分だけをサブルーチン化します。
12_13_2.png

そしてBASICからマシン語コール(695行)する着前に、割込み開始サブルーチンをコールするようにします。(690行)
12_13_6.png

BASIC部からマシン語コール先を設定する時(745行等)に、併せてBGM番号を設定するようにします。
そして、割込み開始サブルーチンを通るように690行へ制御を飛ばします。(750行等)

これで、「探索」と「戦闘」のBGM切り替えは問題なしです。
因みにBGMは、容量の都合で非常に単純・簡単なものになっております。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12335116
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
<< 2024年11月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
広告
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
プロフィール
カテゴリーアーカイブ
ファン
QRコード