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

2023年11月17日

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



3Dダンジョンロールプレイングゲーム 第46回目です。
さて、今回はマップ移動時発生イベントを組んでいきます。

何それ?と、思われるかもしれませんが、前回組んだイベントの中で、「宝箱」や「ゲート」等に関して「移動後座標って何?」と思われた方もいるのではないでしょうか?































































イベント名初期座標移動後座標タイプ
1ゲート(14,1)(0,0)接触
2宝箱(0,0)(1,1)接触
3宿屋(20,16)接触
4武器屋(20,18)接触
5道具屋(20,17)接触
6武器屋案内(19,18)(0,0)設置
7道具屋案内(19,17)(0,0)設置
8宿屋案内(19,16)(0,0)設置
9ボス戦闘(19,9)接触

「宝箱」は初期座標が通路に面していない壁の中(0、0)ですので接触できません。
また、「ゲート」はイベント終了後そこに存在すると先に進めません。
「案内」イベントは、毎回表示すると煩いので初回通過時のみとします。

そこで、フラグ値に応じてイベントを移動させる必要があります。

実際のイベントを使って説明します。
11_15_2.png
ゲートがあって進めません。
鍵を使ってゲートをあけます。
11_15_3.png
11_15_4.png
本来なら、これでゲートは開いているはずので通過できるはずなのですが、現状だとイベントがそのまま残っていますので、進もうとすると…
11_15_2.png
進めません。
そこで、フラグ値に応じてイベントを消す必要があるのです。
イベントを消すには絶対に触れられない場所(今作だと座標(0,0))に移動させれば良いです。

このルーチンはマップを移動した際(イベント位置が初期座標にある)、そのマップ内のイベントを毎回フラグ値に応じて移動させる(移動後座標に配置換え)必要があるので、マップ移動時発生イベントと私は呼んでいます。

複雑なイベントを組むのなら、これも別ファイルでスクリプト化した方が便利です。
例えば学校探索系のロールプレイングゲームで、教室のドアが複数あるなど。
今作は5つなので、直プログラムします。
11_15_1.png

これで、敵がいない状態で最後のボス戦まで進むことが出来るようになりました。

次回は、システムメニューを組んでいきます。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
検索
<< 2023年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コード