マップ名を表示する【ウディタ】

2021/10/20

ウディタ ゲーム制作

  今回は以前ゲーム制作を挫折したときに作っていたコモンイベントを書き留めます。

 一階から二階へ…と階層を跨ぐと左上に今いる階層が表示される感じにしたくて、マップ名に階層を登録し、このコモンイベントを使ってマップ名を表示させました。左上の「F1」や「F2」と書いてあるものが表示されたマップ名です。

ウディタでマップ名を表示した画像(F1がマップ名)

ウディタでマップ名を表示した画像(F2がマップ名)

 初めて一からコモンイベントを組もうと考えている人にとっても簡単に組めて、色んな場面で使えるコモンイベントだと思います。

マップ名表示コモンの中身

マップ名表示コモン内容
マップ名表示コモンの中身

 このコモンは簡易的にマップ名を左上に表示させるものになっており、行数が16行で完結しています。

 起動条件は主人公がマップを移動したかどうかを監視するため「並列実行(常時)」になっています。

 このコモンイベントは以下のように組んでいます。

①主人公が現在居るマップIDをCselfに保存

 現在主人公が存在しているマップIDをCselfに保存しています。

 コメント文の『マップ名をCself[数値]に保存』というのは、マップIDは数値で保存されているためであり、表示させたいのは「マップ名」(文字列)なので後で[数値]→[文字列]に変換する必要があることをメモしています。

②主人公が今居るマップIDと直前に居たマップIDが同じか判定

 主人公の現在のマップIDと直前のマップIDを条件分岐で判定します。「以外」の他を選ぶと思ったとおりに動作しなくなるので注意。

 条件分岐内でDB読み込み(システム)を使ってCself5にマップID[数値]とマップ名[文字列]を連動させます。詳しい設定は↓画像のようにやってます。

実際のDB読み込みのコマンド設定内容
DB読み込みのコマンド設定内容

 ちなみに、Cself5~9が文字列のみ保存する(数値データは保存できない)変数になっているので基本的にCselfは10~使うのがいいです。

 Cself0~4はコモンイベントの設定ボタンで結果を返すかどうか設定できます。

③ピクチャでマップ名を表示

 条件分岐内でピクチャ表示を使ってマップ名を表示します。表示させるピクチャタイプを文字列にしてCself5(②で主人公の現在のマップIDとマップ名を連動させたCself変数)を特殊文字\cself[変数(ここでは5)]を使って呼び出します。

 ピクチャ消去の部分で表示させる時間を設定しています。表示時間30F/発動遅延時間(ディレイ)150Fで設定しています。

 ピクチャ表示の前にある「ピクチャ[ディレイ内容リセット]」は、素早くマップを移動したときに前に居たマップで起きたディレイ時間を引き継いでしまい、ピクチャの表示時間がまばらになって思ったように動作しなくなるのを防いでいます。

④主人公のマップID更新

 最後に今いるマップIDを直前いたマップIDに更新します。ウェイトを最後に入れているのは、個人的に入れた方がいいかな?と思ったからで特にあってもなくても動作に影響はないと思います。

 以上でマップ名表示コモンの完成。


 初心者が作ってるコモンなので初心者に優しいコモンイベントになっていると思います。

 しかし、ここで使った主人公の位置を保存しておいて直前の位置と同じかどうか判定し、結果によって何か表示する・動作を起こすという方法は色んなところに応用が利く考え方なので覚えておいて損はしないと思います。

 以前書いた足音を鳴らすコモンイベントにも、この考え方で主人公の位置を判定しています。参考になれば→足音を鳴らしたい!足音コモンを導入するぞ【ウディタ】

 最後まで読んでいただき、ありがとうございました。



profile


MNEET
ゲーム制作を亀並みですがやってます
MNEET(@ごみ)の自創作置き場です
ゲーム制作以外にも自創作関係を投稿していこうと思っています
幅広に創作活動をしていきたい気持ち
よろしくお願いします👐

ゲーム制作や創作以外。日常系という名の自我👇
生活LOG+

MNEETのTwitter👇
垢名【ごみ】  Twitter

作ったゲーム

初完走!第一作目 徘徊者の館
第二作目 ぼく

カテゴリー

このブログを検索

QooQ