WOLF RPGエディター(ウディタ)[3.175]/基本システム【サイトトップへ戻る】
■コモンイベント[102:X[移]上部ステータス描画]の解説
(更新:2023/04/24)


コモンイベント[102:X[移]上部ステータス描画]について解説します。


ショートカット
■コモンイベント[102:X[移]上部ステータス描画]って何?
■文字列の設定
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

基本システムに関する説明は別ページに記載しています。
【基本システムに関する説明ページを見る】

コモンイベントの一覧と補足説明のページも用意しています。
【コモンイベントの一覧と補足説明のページを開く】


  
■コモンイベント[102:X[移]上部ステータス描画]って何?

コモンイベント[102:X[移]上部ステータス描画]は、
技能を選択する画面の上部でステータスを表示する時に使います。





このコモンイベント[102:X[移]上部ステータス描画]では、背景の画像も表示します。

背景なし 背景あり



ピクチャ番号の使用内容は以下のとおりです。

ピクチャ番号 使用内容 データ取得位置
12000 背景を暗くする画像  
12001 上の枠  
12010 文字列:主人公名+肩書き+レベル 名前:可変DB[0]項目[0]
肩書き:可変DB[0]項目[1]
レベル:可変DB[0]項目[4]
12011 HPバーの周りの枠  
12012 HPバーの下地の赤色  
12013 HPバーの緑色 現在HP:可変DB[0]項目[5]
最大HP:可変DB[17]項目[0]
12014 文字列:HP表示 現在HP:可変DB[0]項目[5]
最大HP:可変DB[17]項目[0]
12015 SPバーの周りの枠  
12016 SPバーの下地の赤色  
12017 SPバーの青色 現在SP:可変DB[0]項目[7]
最大SP:可変DB[17]項目[1]
12018 文字列:SP表示 現在SP:可変DB[0]項目[7]
最大SP:可変DB[17]項目[1]


▲トップへ戻る▲


  
■文字列の設定

「主人公名+肩書き+レベル」「HP/最大HP」「SP/最大SP」の文字列は、
それぞれ1つのピクチャにまとめて表示しています。





▼「主人公名+肩書き+レベル」の文字列設定を解説

156〜162行目にある「主人公名+肩書き+レベル」の文字列設定について解説します。

文字列 処理内容 処理結果見本
ウルファール
案内人 Lv 5
主人公の名前を設定し、
改行します。
ウルファール
案内人 Lv 5
肩書きを設定し、
全角スペースを1文字設定します。
ウルファール
案内人 Lv 5
「Lv」を追加。
ウルファール
案内人 Lv
5
半角スペースを1文字設定し、
レベルの数値を設定。



▼「HP/最大HP」「SP/最大SP」の文字列設定を解説

196行目にある「HP/最大HP」と、
253行目にある「SP/最大SP」の文字列設定について解説します。

見た目では「HP  60/60」は1行に見えますが、
実際には「HP」の文字は1行目で、「60/60」の部分は2行目に表示しており、
2行目は1行目と同じ高さにして表示しているので、それで見た目では1行の表示に見えます。

2行に分けて設定しているのは、「HP」の文字を左寄せで表示し、「60/60」の部分を右寄せで表示するためです。

下記の解説ではHPの表示設定で書いていますが、
SPの場合は「セルフ[90]セルフ[92]」「セルフ[91]セルフ[93]」が変わるだけであり、
表示処理はHPと変わりません。

文字列 処理内容 処理結果見本
\f[\cself[18]]\cself[7]\ax[\cself[10]]
<R>\ay[0]\cself[90]\f[\cself[17]]/\cself[91]
まず「HP」の文字を表示します。
文字サイズは可変DB[18:基本システム用変数]
データ[6:システムミニフォントサイズ]の値を
セルフ[18]に取得して設定しています。
\f[\cself[18]]\cself[7]\ax[\cself[10]]
<R>\ay[0]\cself[90]\f[\cself[17]]/\cself[91]
ゲージの幅だけ次の入力位置を右に移動します。

ゲーム画面のサイズが[320×240[x2]]の場合は、
ゲージの幅の2倍の距離を右に移動させます。
これは特殊文字「\ax」の設定値が、
[640×480]の画面サイズで処理されるためです。
\f[\cself[18]]\cself[7]\ax[\cself[10]](改行)
<R>
\ay[0]\cself[90]\f[\cself[17]]/\cself[91]
改行して2行目に入力位置を移動し、
2行目の文字列を右寄せで設定します。
\f[\cself[18]]\cself[7]\ax[\cself[10]]
<R>\ay[0]\cself[90]\f[\cself[17]]/\cself[91]
入力位置を「Y=0」へ移動。
\f[\cself[18]]\cself[7]\ax[\cself[10]]
<R>\ay[0]\cself[90]\f[\cself[17]]/\cself[91]

現在のHP量を設定。
\f[\cself[18]]\cself[7]\ax[\cself[10]]
<R>\ay[0]\cself[90]
\f[\cself[17]]/\cself[91]
少し小さいサイズにして「/最大HP」を表示。
文字サイズは可変DB[18:基本システム用変数]
データ[7:システム最小フォントサイズ]の値を
セルフ[17]に取得して設定しています。


▲トップへ戻る▲


  
■こうゆう時にこのコモンイベントを改造する

以下のような改造を行いたい時にこのコモンイベントを改造します。

◆画面のレイアウトを変えたい。

◆使用するピクチャ番号(12000〜12018)を変えたい。


▲トップへ戻る▲


  
■[入力の数/結果を返す]について

コモンイベント[102:X[移]上部ステータス描画][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「処理モード」

処理方法を設定。
[0]表示A(初期表示用 スライド表示&全表示) 画面上から下にスライドさせて表示。
[1]表示B(瞬間表示&一部更新) 瞬間表示で表示を更新。
[2]カーソル表示([2]が-1なら消去 -2なら凍結) 使用できません。
[-1]消去 画面上へスライドさせて消去。
▼数値2/コモンセルフ1「[1]主人公ID」

主人公ID(可変DB[0:主人公ステータス]データID)を設定。


▲トップへ戻る▲


  
■コモンイベント呼び出しの一覧

コモンイベント[102:X[移]上部ステータス描画]を呼び出しているコモンイベントの一覧です。
なお、コモンイベント[102:X[移]上部ステータス描画]から呼び出しているコモンイベントはありません。

コモンイベント[102:X[移]上部ステータス描画]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
129:X┣[移]技能欄実行 技能を選択する画面を表示する時に呼び出されます。

【コモンイベント呼び出しの一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[102:X[移]上部ステータス描画]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 処理モード 処理方法を設定。
0 画面上から下にスライドさせて表示。
1 瞬間表示で表示を更新。
-1 画面上へスライドさせて消去。
1 [1]主人公ID 主人公ID(可変DB[0:主人公ステータス]データID)を設定。
7 表示項目名 主人公の名前・肩書き・レベル、HP・SPの名称を取得する時に使用。
8 ウィンドウ画像ファイル ユーザーDB[16:画像/音声設定]項目[0:ウィンドウ画像ファイル]を取得。
9 カーソル画像ファイル 文字列の設定のみであり、実際には何も使用されていません。
10 一時変数A 消去時に右へスライドする時の移動量を設定。
背景画像の横サイズを設定。
可変DB[0:主人公ステータス]項目[4:レベル]を取得。
HP 60/60」の文字列の横幅の設定で使用。
スライドのY移動量の設定で使用。
11 一時変数B 消去時や出現時にピクチャ番号[12001]を設定し、一括処理で使用。
背景画像の縦サイズを設定。
HPゲージ・SPゲージの周りに表示する枠のX表示位置を設定。
12 一時変数C HPゲージ・SPゲージの周りに表示する枠のY表示位置を設定。
13 一時変数D HPゲージ・SPゲージの周りに表示する枠の横サイズを設定。
14 一時変数E HPゲージ・SPゲージの周りに表示する枠の縦サイズを設定。
17 最小フォントサイズ 値の設定のみであり、実際には何も使用されていません。
18 ミニフォントサイズ 値の設定のみであり、実際には何も使用されていません。
19 基本フォントサイズ 可変DB[18:基本システム用変数]データ[5:システム基本フォントサイズ]を取得。
20 基本ピクチャ番号 今回の処理で使うピクチャ番号の最小値(12000)を設定。
21 一時ピクチャ番号 セルフ[20]に保存されたピクチャ番号をコピーし、
表示する内容に合わせてピクチャ番号を変えて使用します。
27 装備欄 縦項目数 値の設定のみであり、実際には何も使用されていません。
29 全更新フラグ 値の設定のみであり、実際には何も使用されていません。
30 パラメータ欄X 値の設定のみであり、実際には何も使用されていません。
31 パラメータ欄Y 値の設定のみであり、実際には何も使用されていません。
32 パラメータ欄横サイズ 値の設定のみであり、実際には何も使用されていません。
33 パラメータ欄縦サイズ 値の設定のみであり、実際には何も使用されていません。
50 ステータス欄X ステータス画面のウィンドウのX表示位置を設定。
51 ステータス欄Y ステータス画面のウィンドウのY表示位置を設定。
52 ステータス欄横サイズ ステータス画面のウィンドウの横サイズを設定。
53 ステータス欄縦サイズ ステータス画面のウィンドウの縦サイズを設定。
54 色指定R 値の設定のみであり、実際には何も使用されていません。
55 色指定G 値の設定のみであり、実際には何も使用されていません。
56 色指定B 値の設定のみであり、実際には何も使用されていません。
57 初期表示?(1=YES) セルフ[0]が「0(初期表示用)」の時には、
セルフ[57]に「1」を設定し、背景画像を表示。
62 キャラ名位置X 主人公の名前のX表示位置を設定。
63 キャラ名位置Y 主人公の名前のY表示位置を設定。
64 肩書き位置X 値の設定のみであり、実際には何も使用されていません。
65 肩書き位置Y 値の設定のみであり、実際には何も使用されていません。
66 HP位置X HPのX表示位置を設定。
67 HP位置Y HPのY表示位置を設定。
68 SP位置X SPのX表示位置を設定。
69 SP位置Y SPのY表示位置を設定。
70 HPゲージX HPゲージのX表示位置を設定。
71 HPゲージY HPゲージのY表示位置を設定。
72 SPゲージX SPゲージのX表示位置を設定。
73 SPゲージY SPゲージのY表示位置を設定。
80 全ゲージ太さ HP・SPゲージの縦サイズを設定。
81 HP・SPゲージ長 HP・SPゲージの横サイズを設定。
90 HP 可変DB[0:主人公ステータス]項目[5:HP]を取得。
91 最大HP 可変DB[17:×主人公一時DB]項目[44:[一時]計算済みMaxHP]を取得。
92 SP 可変DB[0:主人公ステータス]項目[7:SP]を取得。
93 最大SP 可変DB[17:×主人公一時DB]項目[46:[一時]計算済みMaxSP]を取得。
94 レベル 値の設定のみであり、実際には何も使用されていません。
可変DB[0:主人公ステータス]項目[4:レベル]を取得していますが、
「主人公名+肩書き+レベル」の表示処理では、
項目[4:レベル]セルフ[10]が新たに取得して処理しています。
95 座標倍率X[x10] 可変DB[18:基本システム用変数]データ[97:座標倍率X[x10]]を取得。
数値は「ゲーム画面の横サイズ÷32」。
96 座標倍率Y[x10] 可変DB[18:基本システム用変数]データ[98:座標倍率Y[x10]]を取得。
数値は「ゲーム画面の縦サイズ÷24」。
97 %計算用一時変数 HP・SPの残りパーセントを設定。

【変数の一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■イベントコマンドの解説

イベントコマンドの解説を行います。

なお、見た目で設定内容が分かるような簡単なイベントコマンドの解説は省略しています。

処理内容
21-23 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ パラメータ設定
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
24-29 ■条件分岐(変数): 【1】 CSelf1[[1]主人公ID] が -1 以下
存在しない主人公IDの場合は分岐。
  26-27 エラーを表示し、【イベント処理中断】を実行。
30-31 ▼ 固定値を設定
セルフ[20]に「12000(使用するピクチャ番号の最小値)」を設定。
32-38 ▼ 外部パラメータ読み込み
データベースからフォントサイズやウィンドウの画像ファイルアドレスを取得。
39-41 ▼ Ver2.20 座標倍率を縦横別に修正
ゲーム画面のサイズ[320×240[x2]]の横縦を「10」にした時のゲーム画面のサイズを設定。
42-44 カラーの設定がありますが、このコモンイベントでは使用していません。
45-61 ▼ ステータス欄座標設定
ゲーム画面のサイズ[320×240[x2]]を基準にした表示位置や表示サイズを設定。
52-88 ▼ 座標倍率補正をかける
現在のゲーム画面のサイズを合わせて表示位置やサイズを補正。
89-90 このセルフ[29]はこのコモンイベント内では使用していません。
91-93 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ ここから実処理開始
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
94-113 ■条件分岐(変数): 【1】 CSelf0[処理モード] が -1 と同じ
表示モードが「削除」の場合は分岐。
  96-101 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 「消去」モード
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 下地だけは単体で消去
背景画像を消去。
  102-110 ▼ それ以外は右にスライド消去
画面の上(画面の外)に向かって徐々に速度を落としながらスライドし、消去。
  111 【イベント処理中断】を実行。
114-281 ■条件分岐(変数): 【1】 CSelf0[処理モード] が 0 以上
 ■条件分岐(変数): 【1】 CSelf0[処理モード] が 1 以下
表示モードが「表示A(初期表示用 スライド表示&全表示)
表示B(瞬間表示&一部更新)」の場合は分岐。
  118-120 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 「表示」モード
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  121 セルフ[57]に「0(背景画像表示を実行しない)」を設定。
  122-126 ■条件分岐(変数): 【1】 CSelf0[処理モード] が 0 と同じ
表示モードが「表示A(初期表示用 スライド表示&全表示)」の場合は分岐。
    124-126 ▼ ●初期化モード
▼ 初期表示なら、1を格納 (処理のオンオフ判定に使用)
セルフ[57]に「1(背景画像表示を実行する)」を設定。
  128-129 ◇分岐: 【2】 [ CSelf0[処理モード] が 1 と同じ ]の場合↓
表示モードが「表示B(瞬間表示&一部更新)」の場合は分岐。
    129 ▼ ●更新モード
セルフ[57]を「0」にする設定は既に121行目で行っているので、ここでは何も設定しない。
  132-137 ▼ ステータス用パラメータの取得
主人公のHP・最大HP・SP・最大SPをセルフ[90〜93]に取得。
セルフ[94]にレベルを設定していますが、このセルフ[94]の値はこの後で使用していません。
  138-146 ■回数付きループ [ CSelf57[初期表示?(1=YES)] ]回
表示モードが「表示A(初期表示用 スライド表示&全表示)」の場合は分岐。
    139-144 ▼ 下地
ピクチャ番号[12000]で背景画像を「<GRADY-779-111>」で表示。
  148-153 ■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
▼ キャラ名・HP・SP欄表示処理ここから
▼ まずウィンドウ表示
ピクチャ番号[12001]でウィンドウを表示。
  155-162 ▼ キャラ名
主人公名+肩書き+レベル」をセルフ[7]に設定。
  163-167 ▼ 表示位置は左上基点
ピクチャ番号[120010]でセルフ[7]を表示。
  171-180 ▼ HP欄 HPゲージ

▼ HP数値表示用に、横幅を得る
「HP」の左端と「60/60」の右端との横幅をセルフ[10]に設定。
  175-184 ■条件分岐(変数): 【1】 Sys115:[読]Game.exeバージョン(x100) が 300 未満
ウディタ[3.00]以前の場合は分岐。
    177-184 ▼ 旧バージョン時、320x240時のみ2倍に Ver3.00修正
「HP」の左端と「60/60」の右端との横幅をセルフ[10]に設定。
ゲーム画面のサイズ[320×240[x2]]の場合は、長さを2倍にします。
これは文章の表示位置を設定する特殊文字「\ax」が[640×480]で処理されるためです。
【特殊文字「\ax」の説明を見る】
  186-188 ◇分岐: 【2】 [ Sys115:[読]Game.exeバージョン(x100) が 300 以上 ]の場合↓
ウディタ[3.00]以降の場合は分岐。
    187-188 ▼ Ver3.00以降はSys119の基本画面倍率で調整 Ver3.00修正
カーソル画像の横幅をセルフ[10]に設定。
ゲーム画面のサイズが2倍の場合はカーソルの横幅を2倍に、
ゲーム画面のサイズが3倍の場合はカーソルの横幅を3倍にしてセルフ[10]に設定。
  191-192 ▼ HPの数値 (表示位置は左下基点)
セルフ[21]に「12014」を設定。
  193-197 ▼ ax,ayで横幅補正表示
HP 60/60」の文字列を表示。
  198-206 ▼ ゲージ表示 [上部分ゲージ] (表示位置は左上)
HPの残りパーセント(横拡大率)を算出し、
ピクチャ番号[120013]でHPのゲージを「<GRADX-999-274>」で表示。
  207-211 ▼ ゲージ表示 [下地ゲージ・赤部分] (表示位置は左上)
ピクチャ番号[120012]でHPゲージの下に表示する赤い下地を「<GRADX-744-400>」で表示。
  212-224 ▼ ゲージ表示[枠部分] (表示位置は左上)
ピクチャ番号[120011]でHPゲージの周りに表示する枠を表示。
  228-247 ▼ SP欄 SPゲージ

▼ SP数値表示用に、横幅を得る
「SP」の左端と「20/20」の右端との横幅をセルフ[10]に設定。
ゲーム画面のサイズが2倍の場合はカーソルの横幅を2倍に、
ゲーム画面のサイズが3倍の場合はカーソルの横幅を3倍にしてセルフ[10]に設定。
  248-249 ▼ HPの数値 (表示位置は左下基点)
セルフ[21]に「12018」を設定。
  250-254 ▼ ax,ayで横幅補正表示
SP 20/20」の文字列を表示。
  255-263 ▼ ゲージ表示 [上部分ゲージ] (表示位置は左上)
SPの残りパーセント(横拡大率)を算出し、
ピクチャ番号[120017]でSPのゲージを「<GRADX-999-247>」で表示。
  264-268 ▼ ゲージ表示 [下地ゲージ・赤部分] (表示位置は左上)
ピクチャ番号[120016]でSPゲージの下に表示する赤い下地を「<GRADX-744-400>」で表示。
  269-281 ▼ ゲージ表示[枠部分] (表示位置は左上)
ピクチャ番号[120015]でSPゲージの周りに表示する枠を表示。
  287-294 ▼ 移動エフェクトをかける
背景画像以外を画面の上(画面の外)からスライドで徐々に速度を落としながら表示。
  297 【イベント処理中断】を実行。


▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

YADOT-WOLFトップ  気紛れな空間へ戻る  メール