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


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


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

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

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


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

技能を選択する画面の上部に主人公のステータスを表示する時に、
このコモンイベント[185:X[戦]上部ステータス描画]を使います。





技能を選択する画面の背景に表示する画面全体を暗くするピクチャも、
このコモンイベント[185:X[戦]上部ステータス描画]で表示します。

背景あり 背景なし


▲トップへ戻る▲


  
■文字列の設定

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

▼青い部分の文字列がそれぞれ1枚のピクチャになっています。


「HP/最大HP」「SP/最大SP」の文字列は、様々な特殊文字が使用されており、かなり複雑な設定が必要になります。
【特殊文字の説明を見る】

下記では文字列設定について詳しく解説します。



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

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

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



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

197行目にある「HP/最大HP」、244行目にある「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]に取得して設定しています。


▲トップへ戻る▲


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

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

◆上部ステータスの表示仕様を変えたい。

◆背景の画像の色を変えたい。(指定した画像ファイルで表示したい)


▲トップへ戻る▲


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

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

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

処理方法を設定。
[0]表示A(初期表示用 スライド表示&全表示) ステータスを表示します。
[1]表示B(瞬間表示&一部更新) ステータスの表示を更新します。
※基本システム内ではこの設定は使用していません。
[-1]消去 ステータス表示を消去します
▼数値2/コモンセルフ1「[1]戦闘スロット」

処理するスロット(パーティの並び順で「0〜5」)を設定。


▲トップへ戻る▲


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

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

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

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


▲トップへ戻る▲


  
■セルフ変数の一覧

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

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

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


▲トップへ戻る▲


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

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

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

処理内容
24-40 ■条件分岐(変数): 【1】 CSelf0[処理モード] が 0 以上
通常の状態ではここのエラーが表示される事はありませんが、
改造の失敗による不具合の発生すると、ここのエラーが表示される可能性があります。
41-99 基本となるピクチャ番号や画像ファイル、表示位置や表示サイズなど、
今回の処理で必要な基本データを準備。
105-124 ■条件分岐(変数): 【1】 CSelf0[処理モード] が -1 と同じ
上部ステータス画面や背景の画像を消去します。
「右にスライド消去」と書かれていますが、実際には上方向に移動して消去されます。
125-292 ■条件分岐(変数): 【1】 CSelf0[処理モード] が 0 以上
 ■条件分岐(変数): 【1】 CSelf0[処理モード] が 1 以下
セルフ[0]の値は「0」しかないので、必ずここで分岐します。
  132-142 セルフ[0]=0」しかないので、ここでは必ず「セルフ[57]=1」になります。
  143-148 ▼ ステータス用パラメータの取得
表示する主人公のパラメータをセルフ[90〜94]に取得。
  149-157 ■回数付きループ [ CSelf57[初期表示?(1=YES)] ]回
セルフ[57]=1」なので、ここのループが1回実行され、背景の画像が表示されます。
  160-164 ▼ キャラ名・HP・SP欄表示処理ここから
▼ まずウィンドウ表示
ウィンドウ画像を表示。
  166-178 ▼ キャラ名
主人公名、肩書き、レべルを1つの文字列にして、ピクチャ番号「12010」で表示。
初めに画面左上(X=0、Y=0)に表示し、
【ピクチャエフェクト】で指定した位置に表示されるように設定しています。
なお、以降のピクチャ表示も同様の形式で表示しています。
  182-191 ▼ HP欄 HPゲージ

▼ HP数値表示用に、横幅を得る
セルフ[81]に設定してあるゲージの横幅をセルフ[10]に設定。
セルフ[10]の値はの文字列を設定する際、
特殊文字「\ax」を使ってゲージの横幅だけ入力位置を右へ移動させる時に使います。
ゲーム画面のサイズが[320×240[x2]]の場合は、ゲージの横幅の2倍のサイズをセルフ[10]に設定。
これは特殊文字「\ax」の処理が[320×240[x2]]の場合でも[640×480]の画面サイズで処理されるため、
横サイズを2倍にしています。
  192-198 ▼ HPの数値 (表示位置は左下基点)
HPの文字列をピクチャ番号「12014」で表示。
  199-207 ▼ ゲージ表示 [上部分ゲージ] (表示位置は左上)
現在のHP残量を表示するゲージをピクチャ番号「12013」で表示。
ゲージの横幅は横拡大率で設定。
  208-212 ▼ ゲージ表示 [下地ゲージ・赤部分] (表示位置は左上)
ゲージの下地をピクチャ番号「12012」で表示。
  213-225 ▼ ゲージ表示[枠部分] (表示位置は左上)
ゲージの周りに表示する枠をピクチャ番号「12011」で表示。
▼黄色の部分
  229-272 ▼ SP欄 SPゲージ

▼ SP数値表示用に、横幅を得る
SPに関する表示を実行。
処理内容はピクチャ番号やセルフ変数などは異なりますが、基本的にHPと同じです。
  278-285 ▼ 移動エフェクトをかける
上部ウィンドウにある画像(背景の画像以外)を一旦ウィンドウの縦サイズだけ上に移動し、
画面上部のゲーム画面外から下にスクロールさせて移動して表示させるように処理する。


▲トップへ戻る▲



◎関連ページ

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

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