[VX] 敵キャラにHP残量のゲージを表示する
VX標準のバトル画面ではアクター側にHP残量を示すゲージが
表示されますが、敵キャラにはそのようなゲージは一切表示
されないので、敵キャラのHPが現在どのくらい残っているかが
分からない仕様になっています。必要に応じて敵キャラにも
ゲージを表示し、HP残量がどのくらいかを視覚的に表すことが
できるようにしました。
スクリプト素材のダウンロードは↓
http://www.lm-t.com/blog/enemy_gauge_101.zip
[2013/02/16追記]
不具合の修正を行いました。(Ver1.01)
-----機能説明ここから-----
■基本情報■
1.機能概要
敵ゲージ表示スクリプトは、敵キャラのHPをゲージで表示し、
HP残量を表示する機能です。
VX標準システムでは、敵のHP残量を示す手段がありませんでしたが、
これを使用することにより敵のHP残量をリアルタイムで表示する
ことができるようになります。
ゲージの画像は差し替え可能になっており、必要に応じて画像を
変更し、独自のゲージ表示も可能です。
また、敵キャラごとにゲージの長さを変える、非表示にするといった
表現も可能です。
2.表示設定
敵ゲージの詳細な表示設定は、Configモジュールに記述されている
パラメータを変更することで行います。
以下にパラメータの説明を記載します。
(1) EGAUGE_ENABLE
敵ゲージ表示機能を有効にするかどうか。
trueを指定すると本スクリプトの機能を有効化します。
falseを指定すると本スクリプトの機能は全て無効になります。
(2) EGAUGE_FILE
ゲージ画像のファイル名。
ファイル名の拡張子は不要です。
ファイルは以下のフォルダに配置してください。
(制作中ゲームフォルダ)\Graphics\System
(3) EGAUGE_POSITION
ゲージを表示する基準位置です。
以下のいずれかの値を指定します。
overhead 敵キャラの頭上
center 敵キャラの中心
underfoot 敵キャラの足元
(4) EGAUGE_ANIMATION_FRAME
敵のHP残量が変わった時のゲージのアニメーションを行う
フレーム数です。この値は1~30の範囲で指定してください。
(5) EGAUGE_VCASE
ゲージの表示期間です。
以下のいずれかの値を指定します。
command コマンド入力中のみ
fighting 戦闘アクション中のみ
target 戦闘アクションのターゲットになった場合のみ
always 常に表示
(6) EGAUGE_VSTATE
ゲージの表示状態です。
以下のいずれかの値を指定します。
visible ゲージを表示する
invisible ゲージを非表示にする
secret ゲージは表示するが、HP残量は表示しない
この値は、敵キャラによってゲージの表示内容を変えたい場合を
想定しています。どの敵キャラでもゲージの表示内容を同じに
する場合は「visible」にすることを推奨します。
(7) EGAUGE_WIDTH
ゲージの幅です。
ゲージの外枠を含まない幅をピクセル数で指定します。
この値は1~220の範囲で指定してください。
3.敵キャラごとのゲージ表示設定
・ゲージの表示状態
・ゲージの幅
上記設定項目は通常、ConfigモジュールのEGAUGE_VSTATE、および
EGAUGE_WIDTHに指定された値が使用されますが、敵キャラごとに
表示内容を変更することができます。
表示内容を変更したい場合は、敵キャラの「メモ」に以下のように
記述します。
<
eg_vstate="xxx"
eg_width="yyy"
>
(1) eg_vstate="xxx"
ゲージの表示状態を指定します。
xxxに指定する値は、EGAUGE_VSTATEと同じです。
(2) eg_width="yyy"
ゲージの幅を指定します。
yyyに指定する値は、EGAUGE_WIDTHと同じです。
4.ゲージ画像の規格
ConfigモジュールのEGAUGE_FILEに指定するゲージ画像は、
以下の規格に基づいて作成されたものである必要があります。
(1)~(4) ゲージ外枠の四隅
この領域は幅16px、高さ16pxのビットマップがそのまま表示されます。
(5)~(6) ゲージ外枠の左右
この領域は幅16px、高さが(画像全体の高さ-32)/3pxのビットマップが
そのまま表示されます。
(7)~(8) ゲージ外枠の上下
この領域は幅がConfigモジュールのEGAUGE_WIDTHで指定された値まで
拡大または縮小されて表示されます。高さは(5)~(6)と同じです。
(9) ゲージ内部の背景
この領域の幅は(7)~(8)と同じで、高さは(5)~(6)と同じです。
(10) ゲージ内部本体
この領域の幅は(7)~(8)と同じで、高さは(5)~(6)と同じです。
(11) EGAUGE_VSTATEがsecretの時のゲージ内部本体
この領域の幅は(7)~(8)と同じで、高さは(5)~(6)と同じです。
■導入手順■
1.導入前の準備
このスクリプトは
・拡張オプションスクリプト
上記スクリプトを最初に導入しておいてください。
すでに導入済みの場合はこの作業を省略できます。
2.スクリプトの追加と置換
(1) 追加
以下のスクリプトは標準のスクリプトには存在しないものなので、
手動で追加する必要があります。スクリプトの名前は各ファイル名
から「.txt」を除いたものにしてください。
Bitmap_GaugeBuffer.txt
Config.txt
Sprite_Gauge.txt
ただし、過去に公開された拙作のスクリプト素材を導入済みで、
すでに同じ名前のスクリプトが存在する場合は、以下のコメントで
囲まれている部分を手動で追加してください。
#T14-042 NEW--->
#<--------------
(2) 置換
以下のスクリプトの内容を書き換える作業を行います。
Scene_Battle.txt → Scene_Battle
Spriteset_Battle.txt → Spriteset_Battle
上記で示したスクリプトに、以下のコメントで囲まれている部分を
手動で追加してください。
#T14-042 ADD--->
#<--------------
変更する箇所を間違えないように注意してください。
●注意
置換作業を行う前に必ずバックアップを取っておくようにしてください。
元のスクリプトの状況によっては、置換を行うことでスクリプトが
正常に動作しなくなることがあります。
3.ゲージ画像の配置
以下のフォルダにゲージ画像を配置してください。
(制作中ゲームフォルダ)\Graphics\System
ゲージ画像は、必要に応じてカスタマイズすることで、
独自のゲージを表示させることができます。
-----機能説明ここまで-----
表示されますが、敵キャラにはそのようなゲージは一切表示
されないので、敵キャラのHPが現在どのくらい残っているかが
分からない仕様になっています。必要に応じて敵キャラにも
ゲージを表示し、HP残量がどのくらいかを視覚的に表すことが
できるようにしました。
スクリプト素材のダウンロードは↓
http://www.lm-t.com/blog/enemy_gauge_101.zip
[2013/02/16追記]
不具合の修正を行いました。(Ver1.01)
-----機能説明ここから-----
■基本情報■
1.機能概要
敵ゲージ表示スクリプトは、敵キャラのHPをゲージで表示し、
HP残量を表示する機能です。
VX標準システムでは、敵のHP残量を示す手段がありませんでしたが、
これを使用することにより敵のHP残量をリアルタイムで表示する
ことができるようになります。
ゲージの画像は差し替え可能になっており、必要に応じて画像を
変更し、独自のゲージ表示も可能です。
また、敵キャラごとにゲージの長さを変える、非表示にするといった
表現も可能です。
2.表示設定
敵ゲージの詳細な表示設定は、Configモジュールに記述されている
パラメータを変更することで行います。
以下にパラメータの説明を記載します。
(1) EGAUGE_ENABLE
敵ゲージ表示機能を有効にするかどうか。
trueを指定すると本スクリプトの機能を有効化します。
falseを指定すると本スクリプトの機能は全て無効になります。
(2) EGAUGE_FILE
ゲージ画像のファイル名。
ファイル名の拡張子は不要です。
ファイルは以下のフォルダに配置してください。
(制作中ゲームフォルダ)\Graphics\System
(3) EGAUGE_POSITION
ゲージを表示する基準位置です。
以下のいずれかの値を指定します。
overhead 敵キャラの頭上
center 敵キャラの中心
underfoot 敵キャラの足元
(4) EGAUGE_ANIMATION_FRAME
敵のHP残量が変わった時のゲージのアニメーションを行う
フレーム数です。この値は1~30の範囲で指定してください。
(5) EGAUGE_VCASE
ゲージの表示期間です。
以下のいずれかの値を指定します。
command コマンド入力中のみ
fighting 戦闘アクション中のみ
target 戦闘アクションのターゲットになった場合のみ
always 常に表示
(6) EGAUGE_VSTATE
ゲージの表示状態です。
以下のいずれかの値を指定します。
visible ゲージを表示する
invisible ゲージを非表示にする
secret ゲージは表示するが、HP残量は表示しない
この値は、敵キャラによってゲージの表示内容を変えたい場合を
想定しています。どの敵キャラでもゲージの表示内容を同じに
する場合は「visible」にすることを推奨します。
(7) EGAUGE_WIDTH
ゲージの幅です。
ゲージの外枠を含まない幅をピクセル数で指定します。
この値は1~220の範囲で指定してください。
3.敵キャラごとのゲージ表示設定
・ゲージの表示状態
・ゲージの幅
上記設定項目は通常、ConfigモジュールのEGAUGE_VSTATE、および
EGAUGE_WIDTHに指定された値が使用されますが、敵キャラごとに
表示内容を変更することができます。
表示内容を変更したい場合は、敵キャラの「メモ」に以下のように
記述します。
<
eg_vstate="xxx"
eg_width="yyy"
>
(1) eg_vstate="xxx"
ゲージの表示状態を指定します。
xxxに指定する値は、EGAUGE_VSTATEと同じです。
(2) eg_width="yyy"
ゲージの幅を指定します。
yyyに指定する値は、EGAUGE_WIDTHと同じです。
4.ゲージ画像の規格
ConfigモジュールのEGAUGE_FILEに指定するゲージ画像は、
以下の規格に基づいて作成されたものである必要があります。
(1)~(4) ゲージ外枠の四隅
この領域は幅16px、高さ16pxのビットマップがそのまま表示されます。
(5)~(6) ゲージ外枠の左右
この領域は幅16px、高さが(画像全体の高さ-32)/3pxのビットマップが
そのまま表示されます。
(7)~(8) ゲージ外枠の上下
この領域は幅がConfigモジュールのEGAUGE_WIDTHで指定された値まで
拡大または縮小されて表示されます。高さは(5)~(6)と同じです。
(9) ゲージ内部の背景
この領域の幅は(7)~(8)と同じで、高さは(5)~(6)と同じです。
(10) ゲージ内部本体
この領域の幅は(7)~(8)と同じで、高さは(5)~(6)と同じです。
(11) EGAUGE_VSTATEがsecretの時のゲージ内部本体
この領域の幅は(7)~(8)と同じで、高さは(5)~(6)と同じです。
■導入手順■
1.導入前の準備
このスクリプトは
・拡張オプションスクリプト
上記スクリプトを最初に導入しておいてください。
すでに導入済みの場合はこの作業を省略できます。
2.スクリプトの追加と置換
(1) 追加
以下のスクリプトは標準のスクリプトには存在しないものなので、
手動で追加する必要があります。スクリプトの名前は各ファイル名
から「.txt」を除いたものにしてください。
Bitmap_GaugeBuffer.txt
Config.txt
Sprite_Gauge.txt
ただし、過去に公開された拙作のスクリプト素材を導入済みで、
すでに同じ名前のスクリプトが存在する場合は、以下のコメントで
囲まれている部分を手動で追加してください。
#T14-042 NEW--->
#<--------------
(2) 置換
以下のスクリプトの内容を書き換える作業を行います。
Scene_Battle.txt → Scene_Battle
Spriteset_Battle.txt → Spriteset_Battle
上記で示したスクリプトに、以下のコメントで囲まれている部分を
手動で追加してください。
#T14-042 ADD--->
#<--------------
変更する箇所を間違えないように注意してください。
●注意
置換作業を行う前に必ずバックアップを取っておくようにしてください。
元のスクリプトの状況によっては、置換を行うことでスクリプトが
正常に動作しなくなることがあります。
3.ゲージ画像の配置
以下のフォルダにゲージ画像を配置してください。
(制作中ゲームフォルダ)\Graphics\System
ゲージ画像は、必要に応じてカスタマイズすることで、
独自のゲージを表示させることができます。
-----機能説明ここまで-----
この記事へのコメント
VXの一作目を作っているものです
(スクリプト関係の質問は受けているのでしょうか?)
貴サイトの「敵HPゲージ」のスクリプトを入れようと思うのですが
まったくのド素人なので、うまくいきません
以下のように「メモ帳」を使って「スクリプトエディタ」に入れました
(コピーペーストしました)
▼敵HPゲージ(最終行以降に追加しました)
Config
Ex
Game_Map
Scene_Battle
Scene_Title
Spriteset_Battle
Bitmap_GaugeBuffer
(内容は変えていません)
既存のモノは
Escape+Game_Map
Escape+Spriteset_Battle
Escape+Scene_Title
Escape+Scene_Battle
・・・に変更しました
更に、どのようすればいいのか
ご教授お願いします