ページ 11

【解決済】MOG_HPGauge.jsのHP描写について

Posted: 2022年1月30日(日) 07:16
by RPG作るマン
いつもお世話になっております。

MOG_HPGauge.jsを導入し、敵のHPをゲージで可視化させてます。
https://plugin.fungamemake.com/archives/19213

自作ゲームではrpg_objects.jsを変更し、敵の最大HPを999,999から9,999,999に変更しているのですが、
どうやらMOG_HPGauge.jsでは999,999以上の数字が描写されないようなのです。
(上から6桁のみ表示され、1の位の数字が省略されてしまう)

これを描写されるようにしたいのすが、プラグイン内のどこを修正すればいいか皆目見当がつきません。
どなたかお力添えいただけませんでしょうか。

Re: MOG_HPGauge.jsのHP描写について

Posted: 2022年1月30日(日) 09:13
by ムノクラ
RPG作るマン さんが書きました:いつもお世話になっております。

MOG_HPGauge.jsを導入し、敵のHPをゲージで可視化させてます。
https://plugin.fungamemake.com/archives/19213

自作ゲームではrpg_objects.jsを変更し、敵の最大HPを999,999から9,999,999に変更しているのですが、
どうやらMOG_HPGauge.jsでは999,999以上の数字が描写されないようなのです。
(上から6桁のみ表示され、1の位の数字が省略されてしまう)

これを描写されるようにしたいのすが、プラグイン内のどこを修正すればいいか皆目見当がつきません。
どなたかお力添えいただけませんでしょうか。
未実験です。
(コアを改変しているとのことで、どのように改変しているのか不明のため)

コード: 全て選択

HPGaugeSprite.prototype.createNumber = function () {
	this._hp_number = [];
	this._numberData = [this.battler().hp - 1, this._numberImg.width / 11, this._numberImg.height]
	for (var i = 0; i < 6; i++) {
		this._hp_number[i] = new Sprite(this._numberImg);
		this._hp_number[i].visible = false;
		if (this.type === 0) {
			this._hp_number[i].x = Moghunter.hpgauge_a_xa + Moghunter.hpgauge_c_xa;
			this._hp_number[i].y = Moghunter.hpgauge_a_ya + Moghunter.hpgauge_c_ya;
		} else {
			this._hp_number[i].x = Moghunter.hpgauge_a_x + Moghunter.hpgauge_c_x;
			this._hp_number[i].y = Moghunter.hpgauge_a_y + Moghunter.hpgauge_c_y;
		};
		this._hp_number[i].org = [this._hp_number[i].x, this._hp_number[i].y];
		this.addChild(this._hp_number[i]);
	};
};
ここで、値の画像を生成しているようです。

コード: 全て選択

for (var i = 0; i < 6; i++) {
で6桁(0から5の繰り返し)にしているので、6をお望みの数字に書き換えてはいかがでしょうか?



余計なこと
コアスクリプトを直接書き換えるのはおすすめできません。
プラグイン化しましょう。

参考
https://fungamemake.com/archives/12254

Re: MOG_HPGauge.jsのHP描写について

Posted: 2022年1月30日(日) 13:50
by RPG作るマン
で6桁(0から5の繰り返し)にしているので、6をお望みの数字に書き換えてはいかがでしょうか?
上記個所を7に変更したところ、7桁以上の数字でも描写されるようになりました。
今のところ不都合も生じていないようです。ありがとうございます。
コアスクリプトを直接書き換えるのはおすすめできません。
プラグイン化しましょう。
ご指摘ありがとうございます。
コアスクリプトを編集することは非推奨であることは知っていたのですが、
ツクールMVはもう本体更新の可能性が低いこと、変更点が軽微であることから直接変更してしまいました。
今後変更を加える際は極力プラグイン化するようにいたします。
ちなみに、コアスクリプトは下記の通り書き換えておりました。

コード: 全て選択

Game_BattlerBase.prototype.paramMax = function(paramId) {
    if (paramId === 0) {
        return 9999999;  // MHP ←ここに9を1つ追加
    } else if (paramId === 1) {
        return 9999;    // MMP
    } else {
        return 999;
    }
};