RPGツクール2000/演出
数字画像の表示
■ピクチャー/画像書き換え型
(更新:2009/11/07)


ピクチャーを使って数字画像を表示します。
このページの数字表示では、画像書き換え型で紹介しています。
【他の数字画像の表示方法を見る】





☆画像の準備
ピクチャー(Picture)として数字画像を用意してください。
【10枚まとめてダウンロード】



☆表示位置の確認
今回は、画面の右上に数字画像を表示します。
横12×縦32ドットの数字画像で6桁を表示する場合は、
下図のような表示位置になります。

十万の位:X246 Y17
 万の位:X259 Y17
 千の位:X272 Y17
 百の位:X285 Y17
 十の位:X298 Y17
 一の位:X311 Y17

3桁の表示設定の場合は、
◆変数の操作:[X]代入,285<百の位の表示位置に合わせる
◆変数の操作:[Y]代入,17
〜百の位の表示処理〜
◆変数の操作:[X]加算,13<13ドット右へ移動して十の位の表示位置に合わせる
〜十の位の表示処理〜
◆変数の操作:[X]加算,13<13ドット右へ移動して一の位の表示位置に合わせる
〜一の位の表示処理〜

と言った設定になります。



☆変数の設定
変数は全体で使用する2個の変数1桁に付き1個の変数を使います。
全体で使用する変数には、ピクチャーの表示位置を設定します。

位ごとの数字に分ける処理は以下のように設定します。
■1桁表示
変数0001番の値が表示する数字になります。
※変数の値は0〜9の間である必要があります。

■2桁表示
◆変数の操作:[0001〜0002]代入,〜2桁の数字〜
◆変数の操作:[0002:十の位]除算,10
◆変数の操作:[0001:一の位]剰余,10

※2桁の数字は0〜99の間である必要があります。

■3桁表示
◆変数の操作:[0001〜0003]代入,〜3桁の数字〜
◆変数の操作:[0003:百の位]除算,100
◆変数の操作:[0002:十の位]除算,10
◆変数の操作:[0001〜0002]剰余,10
※3桁の数字は0〜999の間である必要があります。
※〜3桁の数字〜を主人公のHPにすれば、
 主人公のHPを表示する設定になります。


■4桁表示
◆変数の操作:[0001〜0004]代入,〜4桁の数字〜
◆変数の操作:[0004:千の位]除算,1000
◆変数の操作:[0003:百の位]除算,100
◆変数の操作:[0002:十の位]除算,10
◆変数の操作:[0001〜0003]剰余,10
※4桁の数字は0〜9999の間である必要があります。

■5桁表示
◆変数の操作:[0001〜0005]代入,〜5桁の数字〜
◆変数の操作:[0005:万の位]除算,10000
◆変数の操作:[0004:千の位]除算,1000
◆変数の操作:[0003:百の位]除算,100
◆変数の操作:[0002:十の位]除算,10
◆変数の操作:[0001〜0004]剰余,10
※5桁の数字は0〜99999の間である必要があります。

■6桁表示
◆変数の操作:[0001〜0006]代入,〜6桁の数字〜
◆変数の操作:[0006:十万の位]除算,100000
◆変数の操作:[0005:万の位]除算,10000
◆変数の操作:[0004:千の位]除算,1000
◆変数の操作:[0003:百の位]除算,100
◆変数の操作:[0002:十の位]除算,10
◆変数の操作:[0001〜0005]剰余,10

初めに代入する数字がマイナスである場合は、
乗算,-1を実行して、プラスの値にする必要があります。
▼設定例(2桁表示の場合)
◆変数の操作:[0001〜0002]代入,〜2桁の数字〜
◆条件分岐:変数[0001:一の位]が-1以下
 ◆変数の操作:[0001〜0002]乗算,-1
 ◆
:分岐終了

◆変数の操作:[0002:十の位]除算,10
◆変数の操作:[0001:一の位]剰余,10




☆表示イベントの設定
表示イベントでは、1桁の表示につきピクチャー番号を1つ使います。
3桁表示の場合は、
一の位の番号:ピクチャー番号1番
十の位の番号:ピクチャー番号2番
百の位の番号:ピクチャー番号3番

と言った感じに3個のピクチャー番号を使います。

ピクチャーの表示位置の設定は、変数を使って設定します。
変数を使う事によって、表示位置の微調整などが簡単に行えます。

■1桁を表示する設定
◆変数の操作:[0001:一の位]代入,〜1桁の数字〜
◆変数の操作:[0009:X表示位置]代入,311
◆変数の操作:[0010:Y表示位置]代入,17
◆条件分岐:変数[0001:一の位]が0
 ◆ピクチャーの表示:1,suuji_0,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が1
 ◆ピクチャーの表示:1,suuji_1,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が2
 ◆ピクチャーの表示:1,suuji_2,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が3
 ◆ピクチャーの表示:1,suuji_3,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が4
 ◆ピクチャーの表示:1,suuji_4,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が5
 ◆ピクチャーの表示:1,suuji_5,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が6
 ◆ピクチャーの表示:1,suuji_6,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が7
 ◆ピクチャーの表示:1,suuji_7,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が8
 ◆ピクチャーの表示:1,suuji_8,(V[0009],V[0010])
 ◆
:分岐終了
◆条件分岐:変数[0001:一の位]が9
 ◆ピクチャーの表示:1,suuji_9,(V[0009],V[0010])
 ◆
:分岐終了

2桁を表示する場合は、1桁を表示する設定を2つ作るような形になります。
詳しい設定方法は、以下のページをご覧ください。
【2桁以上の設定例を見る】



☆定期的に並列処理するで表示
上記の設定を定期的に並列処理するで動かしますと、
イベントコマンド:ピクチャーの表示を連続で実行しているせいで、
重い処理落ちが発生します。
もしも定期的に並列処理するを使って、
常に数字画像を表示するイベントを動かしたい場合は、
同じ画像を二重に表示しないようにする設定を行う必要があります。

位ごとに分ける変数の他に、現在表示中の数字を記憶する変数も用意します。
そして表示する数字(変数[0001:一の位])と、
現在表示中の数字(変数[0011:表示中:一の位])の値が異なる場合は、
新しい数字画像を表示するようにします。

■1桁を表示する設定
◆変数の操作:[0009:X表示位置]代入,311
◆変数の操作:[0010:Y表示位置]代入,17
◆条件分岐:変数[0011:表示中:一の位]がV[0001]以外
 ◆変数の操作:[0011:表示中:一の位]代入,変数[0001]の値
 ◆条件分岐:変数[0001:一の位]が0
  ◆ピクチャーの表示:1,suuji_0,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が1
  ◆ピクチャーの表示:1,suuji_1,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が2
  ◆ピクチャーの表示:1,suuji_2,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が3
  ◆ピクチャーの表示:1,suuji_3,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が4
  ◆ピクチャーの表示:1,suuji_4,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が5
  ◆ピクチャーの表示:1,suuji_5,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が6
  ◆ピクチャーの表示:1,suuji_6,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が7
  ◆ピクチャーの表示:1,suuji_7,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が8
  ◆ピクチャーの表示:1,suuji_8,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:一の位]が9
  ◆ピクチャーの表示:1,suuji_9,(V[0009],V[0010])
  ◆
 :分岐終了
 ◆
:分岐終了

別のマップへ移動した時には、再び数字を表示する必要があります。
上記の表示イベントがコモンイベントの場合は、
イベント実行内容の一番上に、
◆変数の操作:[0007:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0008:マップID]がV[0007]以外
 ◆変数の操作:[0008:マップID]代入,主人公のマップID
 ◆変数の操作:[0011:表示中:一の位]代入,-1
 ◆
:分岐終了

を設定してください。
上記の表示イベントがマップイベントの場合は、
別のマップへ移動したあとに、
◆変数の操作:[0011:表示中:一の位]代入,-1
を実行してください。

2桁以上のイベント設定につきましては、以下のページをご覧ください。
【2桁以上の設定例を見る】



☆表示方法「008」ではなく「 8」にする
上記の設定では、3桁の表示で「8」や「75」を表示しますと、
「008」や「075」と表示されます。
これを「  8」「 75」と言った感じに、
頭の「0」を表示しないようにしたい時には、
以下のページをご覧ください。
【定期的に並列処理するで常に動かさない設定例を見る】
【定期的に並列処理するで常に動かす設定例を見る】



☆数字を左に寄せる
3桁表示で頭の「0」を表示しない設定では、
残りHP: 75
残りMP:  8

と言った状態になり、表示しない「0」の所が空いてしまいます。
これを、
残りHP:75
残りMP:8

と言ったように、数字を左へ寄せる設定を行いたい時には、
以下のページをご覧ください。
【定期的に並列処理するで常に動かさない設定例を見る】
【定期的に並列処理するで常に動かす設定例を見る】



☆動作テスト
以下のイベントを実行すれば、表示される数字が変わります。
■マップイベント
イベント開始条件:決定キーが押されたとき
◆数値入力の処理:3桁,[0008:数値]<テストしたい桁数を設定
◆イベントの呼び出し:数字表示イベント

※表示イベントの〜3桁の数字〜などと表記していた所に、
 変数[0008:数値]を設定してください。

定期的に並列処理するで表示している場合は、
 イベントの呼び出しの設定は不要です。




◎関連ページ
 ●数字画像の表示
 ●数字画像の表示:マップイベント/ページ切替型
 ●数字画像の表示:マップイベント/画像書き換え型
 ●数字画像の表示:ピクチャー/画像表示完了型(1枚で数字1個)
 ●数字画像の表示:ピクチャー/画像表示完了型(1枚で数字4個)
 ●数字画像の表示:ピクチャー/画像表示完了型(1枚で数字10個)


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール