WOLF RPGエディター(ウディタ)/変数【サイトトップへ戻る】
■システム変数[0〜34]の説明
(更新:2024/05/06)


システム変数[0〜34]について解説します。


ショートカット
Sys0:顔グラフィック番号
Sys1:メッセージウィンドウ X座標
Sys2:メッセージウィンドウ Y座標
Sys3:選択肢ウィンドウ X座標
Sys4:選択肢ウィンドウ Y座標
Sys5:ポーズカーソルX (Sys1に足した位置)
Sys6:ポーズカーソルY (Sys2に足した位置)
Sys7:選択肢次回初期位置(0,1,2...)
Sys8:基本フォントサイズ
Sys9:メッセージ速度( X 文字/秒)
Sys10:メッセージ表示ウェイト(X フレーム)
Sys11:ピクチャ文字速度( X 文字/秒)
Sys12:メッセージ表示中?(1=ON)
Sys13:イベント実行中?(1=ON)
Sys14:選択肢ウィンドウ表示する?(1=ON)
Sys15:方向キーリピート初ウェイト(フレーム数指定)
Sys16:方向キーリピート次ウェイト(フレーム数指定)
Sys17:選択肢SE番号:決定(Sys3)
Sys18:選択肢SE番号:選択(Sys3)
Sys19:選択肢SE番号:キャンセル(Sys3)
Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)
Sys21:文字影付ける?(0=OFF,1以上=ON)
Sys22:選択肢カーソル表示モード?(0=通常,1=加算)
Sys23:ルビのフォントサイズ
Sys24:[読]セーブデータ読込判定(1=成功 0=失敗)
Sys25:現在セーブデータ番号(0〜)
Sys26:選択肢ウィンドウ X余白
Sys27:選択肢ウィンドウ Y余白
Sys28:経過フレーム数[1000万で一周]
Sys29:プレイ時間(1秒単位)
Sys30:[読]プレイ時間(ミリ秒単位)
Sys31:[読]内部FPS(毎秒変化)
Sys32:[読]描画FPS(毎秒変化)
Sys33:フレームスキップレベル(0〜2)
Sys34:未使用
【システム変数[35〜76]の説明ページを開く】
【システム変数[77〜120]の説明ページを開く】
【システム変数[121〜148]の説明ページを開く】
【システム文字列[0〜49]の説明ページを開く】
【システム文字列[50〜76]の説明ページを開く】

「変数」や「システム変数・システム文字列」に関する基本説明は、別ページに記載しています。
【変数の説明を開く】
【システム変数・システム文字列の説明を開く】


  
■[Sys0:顔グラフィック番号]
[読み取り・書き込み可能]

文章ウィンドウに顔グラフィックを表示する時に使います。

顔グラフィックを表示する時には、
文章を表示する前にシステム変数[0:顔グラフィック番号]を設定してください。

▼顔グラフィックの番号[3]を表示する時の設定例
■変数操作: Sys0:顔グラフィック番号 = 3 + 0
■文章:夕一\n「やあ、ぼく\r[夕一,ゆういち]っていうんだ!

▼動作イメージ




顔グラフィックの番号は、システムDB[24:顔グラフィック名]データ番号になります。

データ[0〜1]はウィンドウの表示有無の設定するための設定であるため、
顔グラフィックの設定はデータ[2]以降に設定してください。





顔グラフィックを表示する設定は、文章の表示の中に組み込む設定方法もあります。

1行目に「@顔グラフィック番号改行」を設定してください。

▼顔グラフィック3番を表示する設定例


この「@」を使った設定方法の場合、
@\v[0]」と言ったような変数の値で顔グラフィックの番号を設定する事はできません。

変数の値で顔グラフィックの番号を設定する場合は、
このシステム変数[0:顔グラフィック番号]を使用してください。



システム変数[0:顔グラフィック番号]の設定は、システム変数[0:顔グラフィック番号]を実行した後に、
最初に表示される【文章の表示】で顔グラフィックが表示されます。

例えば…
▼マップイベントA
■変数操作: Sys0:顔グラフィック番号 = 3 + 0
を実行したあとに…
▼マップイベントB
■文章:あいうえお
と別のマップイベントで実行した場合でも顔グラフィックは表示されます。



【文章の表示】を2つ続けて設定していても、
2つ目の文章の表示にもそのまま同じ顔グラフィックが表示されます。
■変数操作: Sys0:顔グラフィック番号 = 3 + 0
■文章:あいうえお
■文章:かきくけこ
←ここでも顔グラフィック番号[3]が表示される



但し、【文章の表示】【文章の表示】の間に3フレーム以上のウェイトを入れると、
顔グラフィックの設定が無効となり、2つ目の【文章の表示】には顔グラフィックが表示されません。
■変数操作: Sys0:顔グラフィック番号 = 3 + 0
■文章:あいうえお
■ウェイト:3 フレーム
■文章:かきくけこ
←顔グラフィックは表示されない

途中でウェイトを入れる場合は、
2つ目を表示する前に再度システム変数[0:顔グラフィック番号]を設定してください。
■変数操作: Sys0:顔グラフィック番号 = 3 + 0
■文章:あいうえお
■ウェイト:3 フレーム
■変数操作: Sys0:顔グラフィック番号 = 3 + 0
■文章:かきくけこ


▲トップへ戻る▲


  
■[Sys1:メッセージウィンドウ X座標]
■[Sys2:メッセージウィンドウ Y座標]

[読み取り・書き込み可能]

文章の表示位置をピクセル単位で設定します。

表示位置の基点は、文字の表示を始める位置の左上になります。



X位置の設定は、画面の左端からの距離(ピクセル単位)で設定します。
Y位置の設定は、画面の上端からの距離(ピクセル単位)で設定します。
「-1」を設定すると初期位置に戻ります。

▼画面サイズが[320×240[x2]]の時の表示位置




基本システムを使っている場合は、
コモンイベント[063:X[共]メッセージウィンドウ]44-47行目の所で、
自動的に表示位置が初期化されます。

もしも表示位置を変える場合は、
コモンイベント[063:X[共]メッセージウィンドウ]44-47行目にある…
■変数操作: Sys1:メッセージウィンドウ X座標 = 2 * CSelf88[座標倍率X(x10)]
■変数操作: Sys2:メッセージウィンドウ Y座標 = 17 * CSelf89[座標倍率Y(x10)]
▼ Ver3.00修正 メッセージウィンドウY座標を微調整
■変数操作: Sys2:メッセージウィンドウ Y座標 += CSelf89[座標倍率Y(x10)] / 5
の設定を修正してください。


▲トップへ戻る▲


  
■[Sys3:選択肢ウィンドウ X座標]
■[Sys4:選択肢ウィンドウ Y座標]

[読み取り・書き込み可能]

選択肢の表示位置をピクセル単位で設定します。

表示位置の基点は、選択肢ウィンドウの左右中央上部になります。



X位置の設定は、画面の左端からの距離(ピクセル単位)で設定します。
Y位置の設定は、画面の上端からの距離(ピクセル単位)で設定します。
「-1」を設定すると初期位置に戻ります。

▼画面サイズが[320×240[x2]]の時の表示位置




基本システムを使っている場合は、
コモンイベント[063:X[共]メッセージウィンドウ]48-50行目の所で、
自動的に表示位置が初期化されます。

この47-48行目の初期化設定は【文章の表示】を実行する度に実行されるため、
もしも表示位置を変える場合は、
コモンイベント[063:X[共]メッセージウィンドウ]48-50行目にある…
■変数操作: Sys3:選択肢ウィンドウ X座標 = 16 * CSelf88[座標倍率X(x10)]
▼ Ver3.00修正 選択肢ウィンドウY座標を微調整
■変数操作: Sys4:選択肢ウィンドウ Y座標 = 7 * CSelf89[座標倍率Y(x10)]
の設定を修正してください。


▲トップへ戻る▲


  
■[Sys5:ポーズカーソルX (Sys1に足した位置)]
■[Sys6:ポーズカーソルY (Sys2に足した位置)]

[読み取り・書き込み可能]

ポーズカーソルの表示位置をピクセル単位で設定します。

表示位置の基点は、ポーズカーソルの左右中央上部になります。

ポーズカーソルは上下に移動しますが、その最も上の位置が基点になります。



X位置の設定は、画面の左端からの距離(ピクセル単位)で設定します。
Y位置の設定は、システム変数[2:メッセージウィンドウ Y座標]の位置からの距離で設定します。
「-1」を設定すると初期位置に戻ります。

▼画面サイズが[320×240[x2]]の時の表示位置


この場合は…
システム変数[Sys5:ポーズカーソルX (Sys1に足した位置)]160
システム変数[Sys6:ポーズカーソルY (Sys2に足した位置)] 60
になります。



基本システムを使っている場合は、
コモンイベント[063:X[共]メッセージウィンドウ]51-52行目の所で、
自動的に表示位置が設定されます。

もしも表示位置を変える場合は、
コモンイベント[063:X[共]メッセージウィンドウ]51-52行目にある…
■変数操作: Sys5:ポーズカーソルX (Sys1に足した位置) = 16 * CSelf88[座標倍率X(x10)]
■変数操作: Sys6:ポーズカーソルY (Sys2に足した位置) = 6 * CSelf89[座標倍率Y(x10)]
の設定を修正してください。


▲トップへ戻る▲


  
■[Sys7:選択肢次回初期位置(0,1,2...)]
[読み取り・書き込み可能]

選択肢を表示する前に設定する事で、最初の選択位置を指定する事ができます。



例えば、サンプルゲームのタイトル画面の選択肢では、
セーブデータが無い時には「スタート」を選択し、
セーブデータが有る時には「コンティニュー」を選択します。

セーブデータが無い場合 セーブデータがある場合

これはタイトル画面のマップにあるマップイベントの中の…
■条件分岐(変数): 【1】 Sys25:現在セーブデータ番号(0〜) が 1 以上
-◇分岐: 【1】 [ Sys25:現在セーブデータ番号(0〜) が 1 以上 ]の場合↓
|■変数操作: Sys7:選択肢次回初期位置(0,1,2...) = 1 + 0
|■
◇分岐終了◇
の所で、セーブデータがある時には、選択肢が「コンティニュー」になるように設定しています。



選択肢の処理が終了すると、
システム変数[7:選択肢次回初期位置(0,1,2...)]の値は自動的に「0」になります。


▲トップへ戻る▲


  
■[Sys8:基本フォントサイズ]
[読み取り・書き込み可能]

【文章の表示】【選択肢】【ピクチャ表示】などで文字を表示する時の文字サイズを設定します。



システム変数[8:基本フォントサイズ]に設定されるフォントサイズは、
ゲーム画面のサイズに合わせてフォントサイズが変わります。

ゲーム画面のサイズ[320×240[x2]]の初期値は以下のとおりです。
システム変数[8]12

初期設定はコモンイベント[048:X[共]基本システム自動初期化]47-49行目の…
■変数操作: CSelf25[一時変数A] = CSelf26[一時変数B] * 12
■変数操作: CSelf25[一時変数A] /= 10 + 0
■変数操作: Sys8:基本フォントサイズ = CSelf25[一時変数A] + 0
で行っています。



下図はゲーム画面のサイズ[320×240[x2]]の時に…
■変数操作: Sys8:基本フォントサイズ = 20 + 0
を設定した時の表示例です。



【イベントコード表示】

■変数操作: Sys8:基本フォントサイズ = 20 + 0
■文章:フォントサイズが大きいと思い\nますか?
■文章選択肢:/ 【1】はい / 【2】いいえ
-◇選択肢:【1】 はい の場合↓
|■
-◇選択肢:【2】 いいえ の場合↓
|■
-◇キャンセルの場合
|■
◇分岐終了◇



一時的にフォントサイズを変えたい時には、特殊文字「\f[X]を使用してください。

▼設定例
【イベントコード表示】

■文章:あ\f[16]い\f[18]う\f[20]え\f[22]お

▼処理結果



▲トップへ戻る▲


  
■[Sys9:メッセージ速度( X 文字/秒)]
[読み取り・書き込み可能]

【文章の表示】で文章を表示する時の文字列の表示速度を設定します。



初期値は以下のとおりです。
システム変数[9]500

初期値はコモンイベント[048:X[共]基本システム自動初期化]120行目で行っています。



設定する数値は1秒間に何文字表示するのかを設定します。

例えば「10」を設定した場合は1秒間に10文字を表示する速度で文字が表示されます。

実際に…
【イベントコード表示】

■変数操作: Sys9:メッセージ速度( X 文字/秒) = 10 + 0
■文章:あいうえおかきくけこ
を設定してテストプレーしてみると分かるでしょう。



一時的に表示速度を変えたい時には、特殊文字「\sp[X]を使用してください。

▼設定例(1行目はゆっくり、2行目は高速で表示)
【イベントコード表示】

■文章:\sp[5]「お前って人間だよな?」\n\sp[500]・・・なんて見れば分かるよね!


▲トップへ戻る▲


  
■[Sys10:メッセージ表示ウェイト(X フレーム)]
[読み取り・書き込み可能]

文章を表示し始める時間をフレーム単位(1フレームは60分の1秒)で設定します。

設定した時間が「30」の場合は、
【文章の表示】を実行して30フレーム後(0.5秒後)に文字を表示し始めます。



初期値はコモンイベント[063:X[共]メッセージウィンドウ]36行目にある…
■変数操作: Sys10:メッセージ表示ウェイト(X フレーム) = 9 + 0
で設定しており、これにより【文章の表示】が実行されて9フレーム後に1文字目が表示されます。

この9フレームの待ち時間は、画面下からスクロールして出てくる文章ウィンドウの表示待ち時間です。




▲トップへ戻る▲


  
■[Sys11:ピクチャ文字速度( X 文字/秒)]
[読み取り・書き込み可能]

ピクチャで文字列を表示する時の文字列の表示速度を設定します。



初期値は以下のとおりです。
システム変数[11]1000000
になります。

初期値の設定はゲーム起動時に自動的に設定されるため、
初期値を設定しているコモンイベントの設定はありません。



設定する数値は1秒間に何文字表示するのかを設定します。

例えば「10」を設定した場合は1秒間に10文字を表示する速度で文字が表示されます。

実際に…
【イベントコード表示】

■変数操作: Sys11:ピクチャ文字速度( X 文字/秒) = 5 + 0
■ピクチャ表示:1 [左上]文字列[\Eあいうえおかき] X:0 Y:0 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作: Sys11:ピクチャ文字速度( X 文字/秒) = 10 + 0
■ピクチャ表示:2 [左上]文字列[\Eあいうえおかき] X:0 Y:20 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作: Sys11:ピクチャ文字速度( X 文字/秒) = 1000000 + 0
■ピクチャ表示:3 [左上]文字列[\Eあいうえおかき] X:0 Y:40 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
を設定してテストプレーしてみると分かるでしょう。



一時的に表示速度を変えたい時には、特殊文字「\sp[X]を使用してください。

▼設定例
【イベントコード表示】

■ピクチャ表示:1 [左上]文字列[\sp[5]あいうえおか] X:0 Y:0 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]


▲トップへ戻る▲


  
■[Sys12:メッセージ表示中?(1=ON)]
[読み取り専用]

システム変数[12]=1文章を表示している
システム変数[12]=0文章を表示していない

主に並列実行イベントで、文章を表示している時に一時的に処理を止めたい時に使います。



例えば…
起動条件:並列実行

■キー入力:CSelf0[入力待ち] サブキー(12)
■条件分岐(変数): 【1】 Sys12:メッセージ表示中?(1=ON) が 1 と同じ
-◇分岐: 【1】 [ Sys12:メッセージ表示中?(1=ON) が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
〜何らかの処理〜
と設定する事で、文章を表示している時にShiftキーを押しても、
「〜何らかの処理〜」は実行されなくなります。



コモンイベント[063:X[共]メッセージウィンドウ]では、
このシステム変数[12:メッセージ表示中?(1=ON)]が「1」になったら、
文書ウィンドウを表示するイベントが実行されます。


▲トップへ戻る▲


  
■[Sys13:イベント実行中?(1=ON)]
[読み取り専用]

システム変数[13]=1並列実行以外のイベントが実行している
システム変数[13]=0並列実行以外のイベントは実行していない

[決定キーで実行][自動実行][プレイヤー接触][イベント接触]など、
並列実行以外でイベントを実行している時には、
システム変数[13:イベント実行中?(1=ON)]の値が「1」になります。



イベント実行中にキャンセルキーを押してもメニュー画面が表示されないのは、
コモンイベント[126:X[移]歩行時_並列キー処理]20行目にて、
このシステム変数[13:イベント実行中?(1=ON)]が「0」の時しか、
メニュー画面が表示されないようにしているからです。



テストプレー中に[F8]を押し続けると、現在実行中のイベントを確認する事ができます。




▲トップへ戻る▲


  
■[Sys14:選択肢ウィンドウ表示する?(1=ON)]
[読み取り・書き込み可能]

システム変数[14]=1選択肢のウィンドウを表示
システム変数[14]=0選択肢のウィンドウを非表示

選択肢のウィンドウを表示するかしないかを設定します。

システム変数[14]=1 システム変数[14]=0



初期値は以下のとおりです。
システム変数[14]1

初期値の設定はゲーム起動時に自動的に設定されるため、
初期値を設定しているコモンイベントの設定はありません。


▲トップへ戻る▲


  
■[Sys15:方向キーリピート初ウェイト(フレーム数指定)]
■[Sys16:方向キーリピート次ウェイト(フレーム数指定)]

[読み取り・書き込み可能]

【キー入力】の「キーが押されるまで待つ」や【選択肢】方向キーを押し続けた時に、
どれくらいの待ち時間でキー処理を行うのかをフレーム単位で設定します。

例えば以下のような選択肢を表示した場合…



下キーを押し続けると…
1行目→2行目→3行目→4行目→1行目・・・
と言った感じに選択カーソルが移動します。

この時に最初の「1行目→2行目」へ移動した後に、
次の「2行目→3行目」へ移動するまでの時間設定を、
システム変数[15:方向キーリピート初ウェイト(フレーム数指定)]で設定します。

そのため…
【イベントコード表示】

■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) = 100 + 0
■文章選択肢:/ 【1】1行目 / 【2】2行目 / 【3】3行目 / 【4】4行目
-◇選択肢:【1】 1行目 の場合↓
|■
-◇選択肢:【2】 2行目 の場合↓
|■
-◇選択肢:【3】 3行目 の場合↓
|■
-◇選択肢:【4】 4行目 の場合↓
|■
◇分岐終了◇
と設定して、下キーを押し続けると、「1行目→2行目」へ移動した後、
次の「2行目→3行目」へ移動するまでの時間が「100フレーム」かかります。

動作イメージは…
1行目→2行目→→→→→3行目→4行目→1行目・・・
と言った感じです。



またシステム変数[15:方向キーリピート初ウェイト(フレーム数指定)]を、
システム変数[16:方向キーリピート次ウェイト(フレーム数指定)]に変えて…
【イベントコード表示】

■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) = 100 + 0
■文章選択肢:/ 【1】1行目 / 【2】2行目 / 【3】3行目 / 【4】4行目
-◇選択肢:【1】 1行目 の場合↓
|■
-◇選択肢:【2】 2行目 の場合↓
|■
-◇選択肢:【3】 3行目 の場合↓
|■
-◇選択肢:【4】 4行目 の場合↓
|■
◇分岐終了◇
と設定して、下キーを押し続けると、
「1行目→2行目→3行目」まではスムーズに移動しますが、
それ以降のカーソルの移動時間が1回移動する度に「100フレーム」の時間がかかります。

動作イメージは…
1行目→2行目→3行目→→→→→4行目→→→→→1行目→→→→→2行目・・・
と言った感じです。



なお…
【イベントコード表示】

■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) = 100000 + 0
■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) = 100000 + 0
■文章選択肢:/ 【1】1行目 / 【2】2行目 / 【3】3行目 / 【4】4行目
-◇選択肢:【1】 1行目 の場合↓
|■
-◇選択肢:【2】 2行目 の場合↓
|■
-◇選択肢:【3】 3行目 の場合↓
|■
-◇選択肢:【4】 4行目 の場合↓
|■
◇分岐終了◇
のように設定すると、方向キーを押し続けても選択カーソルは1回しか移動せず、
1行目→2行目→3行目→4行目」と移動するには、方向キーを連打する必要があります。



ゲーム中でもメニュー画面の「システム」→「キーリピート速度」から変更できます。



設定名 システム変数[15] システム変数[16]
1:最も遅い 25 15
2:やや遅い 19 9
3:通常 14 8
4:やや高速 11 6
5:最も高速 9 4

初期値は「3:通常」になります。

システム変数[15・16]に値を設定しているイベントは、
コモンイベント[115:X[移]キーリピート設定]にあります。


▲トップへ戻る▲


  
■[Sys17:選択肢SE番号:決定(Sys3)]
■[Sys18:選択肢SE番号:選択(Sys3)]
■[Sys19:選択肢SE番号:キャンセル(Sys3)]

[読み取り・書き込み可能]

選択肢を操作する時に使用するSE(効果音)を設定します。



初期値は以下のとおりです。
システム変数[17]0
システム変数[18]1
システム変数[19]2

初期値の設定はコモンイベント[048:X[共]基本システム自動初期化]115-117行目で行っています。



変数名にある「(Sys3)」はシステム変数[3]ではなくシステムDB[3:SEリスト]の事を示しており、
システム変数[17][18][19]に設定する値はシステムDB[3:SEリスト]データ番号になります。




▲トップへ戻る▲


  
■[Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)]
[読み取り専用]

【選択肢】の実行中に現在選択しているカーソルの位置を取得します。

内容
0〜9 選択している項目
-1 選択肢が表示されていない
-2 キャンセルを選択
98 左キーで分岐
99 右キーで分岐



このシステム変数[20:選択肢カーソル現位置(0,1,2..非選択時:-1]は、
選択肢の選択中のカーソル位置に合わせて、何らかのイベントを実行させたい時に使います。



▼【使用例】タイトル画面の選択カーソルに合わせて文字を表示

サンプルゲームのタイトル用のマップ内に、以下のマップイベントを新規作成してください。

【イベントコード表示】

■マップイベント

起動条件:並列実行

■ピクチャ[ディレイ内容リセット]:2
■条件分岐(変数): 【1】 Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が 0 と同じ
         【2】 Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が 1 と同じ
         【3】 Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が 2 と同じ
-◇分岐: 【1】 [ Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が 0 と同じ ]の場合↓
|■ピクチャ表示:2 [中心]文字列[初めから開始します] X:160 Y:218 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[0] B[0]
|■
-◇分岐: 【2】 [ Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が 1 と同じ ]の場合↓
|■ピクチャ表示:2 [中心]文字列[続きから再開します] X:160 Y:218 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[0] B[0]
|■
-◇分岐: 【3】 [ Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が 2 と同じ ]の場合↓
|■ピクチャ表示:2 [中心]文字列[ゲームを終了します] X:160 Y:218 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[0] B[0]
|■
◇分岐終了◇
■ピクチャ消去:2 / 0(2)フレーム

テストプレイを実行すると、選択肢のカーソル位置に合わせて選択肢の下に補足説明が表示されます。




▲トップへ戻る▲


  
■[Sys21:文字影付ける?(0=OFF,1以上=ON)]
[読み取り・書き込み可能]

システム変数[21]=1影を付ける
システム変数[21]=0影を付けない

【文章の表示】【選択肢】【ピクチャ表示】にて、
文字の表示時に文字の後ろに影を付けるかどうかを設定します。

システム変数[21]=1 システム変数[21]=0



初期値は以下のとおりです。
システム変数[21]1

初期値の設定はコモンイベント[048:X[共]基本システム自動初期化]118行目で行っています。


▲トップへ戻る▲


  
■[Sys22:選択肢カーソル表示モード?(0=通常,1=加算)]
[読み取り・書き込み可能]

システム変数[22]=0表示形式「通常」
システム変数[22]=1表示形式「加算」

選択肢のカーソル表示にて、表示形式を「通常」にするか「加算」にするかを設定します。

これはピクチャ表示にある表示形式の「通常」「加算」と同じものです。



初期値は以下のとおりです。
システム変数[22]1

初期値の設定はコモンイベント[048:X[共]基本システム自動初期化]119行目で行っています。



以下の選択肢のウィンドウ画像とカーソル画像を合わせた時の「通常」と「加算」の比較表です。

ウィンドウ画像 カーソル画像
色[R200、G0、B0] 色[R0、G200、B0]

【通常】システム変数[22]=0 【加算】システム変数[22]=1

【通常】は、そのままの色でカーソルが表示されます。

【加算】は、ウィンドウ画像の色にカーソルの色が加算されて表示されます。
 背景:R200、G 0、B 0
フォグ:R 0、G200、B 0
表示色:R200、G200、B 0


▲トップへ戻る▲


  
■[Sys23:ルビのフォントサイズ]
[読み取り・書き込み可能]

ルビの文字サイズを設定します。

初期値はコモンイベント[048:X[共]基本システム自動初期化]52行目で行っており、
ゲーム画面のサイズに合わせてフォントサイズが変わります。

ゲーム画面のサイズ[320×240[x2]]の初期値は以下のとおりです。
システム変数[23]5



ルビの文字を設定する時には、特殊文字「\r[表示文字,ルビ文字]を使います。
【特殊文字の説明を見る】

▼設定例
【イベントコード表示】

■変数操作: Sys23:ルビのフォントサイズ = 8 + 0
■文章:君は「\r[YADO,やど]」って言うヤツを知っているかい?

▼処理結果(ゲーム画面が[320×240[x2]]の場合)




上図のように文章ウィンドウの枠にルビ文字が重なってしまうようでしたら、
特殊文字「\my[X]を使って文章の表示位置を下げると良いでしょう。

▼Y表示位置を8ピクセル下げる設定
【イベントコード表示】

■変数操作: Sys23:ルビのフォントサイズ = 8 + 0
■文章:\my[8]君は「\r[YADO,やど]」って言うヤツを知っているかい?

▼処理結果(ゲーム画面が[320×240[x2]]の場合)




なお、ルビ文字の色はシステムDB[12:文字色]データ[13:[Sys]ルビ用文字色]で変えられます。


▲トップへ戻る▲


  
■[Sys24:[読]セーブデータ読込判定(1=成功 0=失敗)]
[読み取り・書き込み可能]

システム変数[24]=1セーブファイルあり
システム変数[24]=0セーブファイルなし

指定したセーブファイルがあるかどうかを調べる時に使います。



以下はセーブ番号[1]のファイルがあるかどうかを調べる時の設定例です。

▼変数呼び出し値「9000024」を設定


この場合…
セーブ番号[1]のファイルが無いこのイベントのセルフ変数[0]に「0」を代入
セーブ番号[1]のファイルが有るこのイベントのセルフ変数[0]に「1」を代入
になります。


▲トップへ戻る▲


  
■[Sys25:現在セーブデータ番号(0〜)]
[読み取り・書き込み可能]

セーブ時やロード時に最後に決定したセーブ番号を記憶します。



最後にセーブしたのが[データ2]である場合は、
セーブ画面やロード画面を開いた時には最初に[データ2]が選択されている状態になります。





ゲームオーバーになった時に自動的に最後のセーブデータがロードされるようにする場合も、
このシステム変数[25:現在セーブデータ番号(0〜)]を使います。

【イベントコード表示】

■条件分岐(変数): 【1】 Sys25:現在セーブデータ番号(0〜) が 1 以上
-◇分岐: 【1】 [ Sys25:現在セーブデータ番号(0〜) が 1 以上 ]の場合↓
|■データのロード: Sys25:現在セーブデータ番号(0〜)
|■
-◇上記以外
|■タイトル画面へ戻る
|■
◇分岐終了◇

▼対象セーブデータの番号には、変数呼び出し値「9000025」を設定




システム変数[25:現在セーブデータ番号(0〜)]の情報はセーブファイル「System.sav」通常変数[0]に保存され、
新規でゲームを始めた時にコモンイベント[048:X[共]基本システム自動初期化]にて、
セーブファイル「System.sav」からシステム変数[25:現在セーブデータ番号(0〜)]の値が読み込まれます。

そしてシステム変数[25:現在セーブデータ番号(0〜)]の値が「1以上(セーブデータ有り)」の場合は、
タイトル画面の選択肢にて最初に「コンティニュー」が選択されるようになります。


▲トップへ戻る▲


  
■[Sys26:選択肢ウィンドウ X余白]
■[Sys27:選択肢ウィンドウ Y余白]

[読み取り・書き込み可能]

選択肢の左右、または上下に余白を設定します。



ゲーム画面のサイズ[320×240[x2]]の初期値は以下のとおりです。
システム変数[26]7
システム変数[27]7

[320×240[x2]]以外の初期値は以下のとおりです。
システム変数[26]14
システム変数[27]14

初期値の設定はゲーム起動時に自動的に設定されるため、
初期値を設定しているコモンイベントの設定はありません。



以下は[320×240[x2]]の時に表示見本です。

システム変数[26]=0
システム変数[27]=0
システム変数[26]=7
システム変数[27]=7
システム変数[26]=20
システム変数[27]=15

システム変数[26]=20」「システム変数[27]=15」の場合は、
選択肢の文字から左に20、右に20、上に15、下に15の余白をそれぞれ設定します。

なお「システム変数[26]=20」「システム変数[27]=15」の設定例は以下のようになります。

【イベントコード表示】

■変数操作: Sys26:選択肢ウィンドウ X余白 = 20 + 0
■変数操作: Sys27:選択肢ウィンドウ Y余白 = 15 + 0
■文章選択肢:/ 【1】はい / 【2】いいえ
-◇選択肢:【1】 はい の場合↓
|■
-◇選択肢:【2】 いいえ の場合↓
|■
◇分岐終了◇


▲トップへ戻る▲


  
■[Sys28:経過フレーム数[1000万で一周]]
[読み取り・書き込み可能]

ゲーム開始時からのフレーム数をカウントします。

「1000万フレーム」で「0フレーム」に戻ります。



ウディタ全体の処理が1回処理されるごとに、1フレーム増えます。

そのため、「100フレームの処理」となると…
●キーを押しているかどうかを100回調べている。
●主人公やピクチャの画像の表示更新を100回行っている。
●ウェイトの無い並列実行を100回実行している。
と言った感じになります。

基本的に「60フレーム=1秒」になっていますが、
実際にはパソコンの処理能力や一度に処理するイベントコマンドの量、
何らかのファイルの読み込みなどを行う事で処理落ちが発生するため、
正確な「60フレーム=1秒」にはなりません。


▲トップへ戻る▲


  
■[Sys29:プレイ時間(1秒単位)]
[読み取り・書き込み可能]

ゲーム開始時からのプレイ時間(1秒単位)をカウントします。



▼【使用例】時分秒に分けて表示

1時間36分5秒47」などと「時」「分」「秒」「100分の1秒」に分けて表示する場合は、
それぞれ別々の変数に設定してください。

【イベントコード表示】

■変数操作: このEvのSelf0 = Sys29:[読]プレイ時間(1秒単位) / 3600
■変数操作: このEvのSelf1 = Sys29:[読]プレイ時間(1秒単位) / 60
■変数操作: このEvのSelf1 %= 60 + 0
■変数操作: このEvのSelf2 = Sys29:[読]プレイ時間(1秒単位) % 60
■変数操作: このEvのSelf3 = Sys30:[読]プレイ時間(ミリ秒単位) / 10
■文章:プレイ時間は「\self[0]時間\self[1]分\self[2]秒\self[3]」です。

▼動作イメージ




▲トップへ戻る▲


  
■[Sys30:[読]プレイ時間(ミリ秒単位)]
[読み取り専用]

システム変数[30:[読]プレイ時間(ミリ秒単位)]は「1000分の1秒単位」で記録します。

システム変数[30:[読]プレイ時間(ミリ秒単位)]は「1000」になると「0」に戻ります。


▲トップへ戻る▲


  
■[Sys31:[読]内部FPS(毎秒変化)]
■[Sys32:[読]描画FPS(毎秒変化)]

[読み取り専用]

1秒ごとのFPS(フレーム毎秒/Frames Per Secondの略)を調べる時に使います。

例えば…
内部FPS=30
描画FPS=15
の場合は、「1秒間に30フレーム分を処理」し、
1秒間に15回ゲーム画面を書き換えている」となります。

内部FPSが「60」と「20」を比べた場合、同じ距離を移動して、
「60」が5秒かかる移動時間が「20」では15秒の移動時間がかかります。

描画FPSが「60」と「20」を比べた場合、
「60」は「表示→表示→表示→表示・・・」と表示される所、
「20」は「表示→停止停止→表示・・・」となり、カクカクした表示になります。



テストプレイを実行すると、ゲーム画面上部にFPS値が表示されます。




▲トップへ戻る▲


  
■[Sys33:フレームスキップレベル(0〜2)]
[読み取り・書き込み可能]

システム変数[33]=0毎フレームごとに描画します。
システム変数[33]=12フレームごとに描画します。
システム変数[33]=23フレームごとに描画します。



表示イメージは…
システム変数[33]=0表示→表示→表示→表示→表示→表示→表示・・・
システム変数[33]=1表示→停止→表示→停止→表示→停止→表示・・・
システム変数[33]=2表示→停止停止→表示→停止停止→表示・・・
と言った感じです。



スキップレベルを上げる事で、ゲーム画面の表示更新回数を減らし、
処理能力の低いパソコンでもスムーズにゲームが出来るようになります。

但し、スキップレベルを上げると、キャラの移動がカクカクした感じになりやすくなります。



初期設定はウディタの画面上の「ゲーム設定 → コンフィグを開く」で設定できます。



またゲーム中に[F5]を押しても、
システム変数[33:フレームスキップレベル(0〜2)]の設定を変更する事ができます。


▲トップへ戻る▲



◎関連ページ

◆「変数」って何?
┣◆「セルフ変数」って何?
┣◆「通常変数」「予備変数」って何?
┣◆「文字列変数」って何?
┣◆「システム変数」「システム文字列」って何?
┃┣◆システム変数[0〜34]の説明
┃┣◆システム変数[35〜76]の説明
┃┣◆システム変数[77〜120]の説明
┃┣◆システム変数[121〜148]の説明
┃┣◆システム文字列[0〜49]の説明
┃┗◆システム文字列[50〜76]の説明
┣◆「変数呼び出し値」「X番の変数呼出」って何?
┃┗◆【使用例】「変数呼び出し値」「X番の変数呼出」
┣◆「乱数」って何?
┃┗◆乱数で一度出力した値を二重に出力させない
┗◆変数の番号や文字列を別のものに置き換える

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