ページ 22

Re: Yanfly様のプラグインによるHP表示について

Posted: 2018年1月07日(日) 10:20
by 剣崎 宗二
バックアップした上で、YEP_BattleEngineCore内の同名functionを以下に差し替えてください。

コード: 全て選択

Yanfly.ATB.Window_BattleStatus_drawGaugeAreaWOTp =
    Window_BattleStatus.prototype.drawGaugeAreaWithoutTp;
Window_BattleStatus.prototype.drawGaugeAreaWithoutTp = function(rect, actor) {
  if (this.isATBGaugeStyle(2)) {
    var totalArea = this.gaugeAreaWidth() - 30;
    var hpW = parseInt(totalArea * 108 / 300);
    var otW = parseInt(totalArea * 96 / 300);
    var atW = totalArea - hpW - otW;
    this.drawActorHp(actor, rect.x + 0, rect.y, hpW);
    this.drawActorMp(actor, rect.x + hpW + 15, rect.y, otW);
    this.drawActorAtbGauge(actor, rect.x + hpW + otW + 30, rect.y, atW);
  } else {
    Yanfly.ATB.Window_BattleStatus_drawGaugeAreaWOTp.call(this, rect, actor);
  }
};
その上で

コード: 全て選択

    var hpW = parseInt(totalArea * 108 / 300);
この行の108の値を順次拡大してお好みの幅にしてみてください。(最大203まで)

尚、HPが3桁以下である事が確定しているのであれば、別の手も取れます。

Re: Yanfly様のプラグインによるHP表示について

Posted: 2018年1月07日(日) 22:58
by ネコムスメ
>剣崎様

書き換えてみたところ
ゲージが溜まっているあいだ、ゲージがCPと重なってしまい、
ゲージが溜まっているあいだと満タンになった時で
ゲージの幅が違ってしまいました。
(満タンになった時のゲージは綺麗に反映されていました!125が理想の値でした!;;)

そして、HPは4桁になる予定です;;
名前は5文字以下、CPは3桁以下というのは
確定しているのですが…;;


かなり不躾なお願いで申し訳ないのですが、
ATBゲージを画像のように、CPの下に反映させる、
なんてことは可能でしょうか…??
02072A13-7072-4691-9E53-1AD7C65DE26D.png

Re: Yanfly様のプラグインによるHP表示について

Posted: 2018年1月08日(月) 12:00
by 剣崎 宗二
ネコムスメ様
ネコムスメ さんが書きました:>剣崎様

書き換えてみたところ
ゲージが溜まっているあいだ、ゲージがCPと重なってしまい、
ゲージが溜まっているあいだと満タンになった時で
ゲージの幅が違ってしまいました。
(満タンになった時のゲージは綺麗に反映されていました!125が理想の値でした!;;)
こちら一か所私が察知できなかった場所でATBゲージの再描画が成されていたのが原因です。

コード: 全て選択

Window_BattleStatus.prototype.redrawATBGaugeRect = function(index, actor) {
  var rect = this.gaugeAreaRect(index);
  var clrect = this.gaugeAreaRect(index);
  var totalArea = this.gaugeAreaWidth();
  if ($dataSystem.optDisplayTp) {
    var gw = totalArea / 4 - 15;
    clrect.x = rect.x + gw * 3 + 44;
    clrect.y = rect.y;
    clrect.width = gw + 2;
    this.contents.clearRect(clrect.x, clrect.y, clrect.width, clrect.height);
    this.drawActorAtbGauge(actor, rect.x + gw * 3 + 45, rect.y, gw);
  } else {
    totalArea -= 30;
    var hpW = parseInt(totalArea * 108 / 300);
    var otW = parseInt(totalArea * 96 / 300);
    var atW = totalArea - hpW - otW;
    clrect.x = rect.x + hpW + otW + 29;
    clrect.y = rect.y;
    clrect.width = atW + 2;
    this.contents.clearRect(clrect.x, clrect.y, clrect.width, clrect.height);
    this.drawActorAtbGauge(actor, rect.x + hpW + otW + 30, rect.y, atW);
  }
};
以上をATBプラグイン内同名のfunctionと差し替えた上で、

コード: 全て選択

var hpW = parseInt(totalArea * 108 / 300);
の行の108の数値を先刻変更した物と同じにしてください
(ここに差異があると溜まった時のゲージと溜まってる最中のゲージが違う事態を招きます)


ネコムスメ さんが書きました: かなり不躾なお願いで申し訳ないのですが、
ATBゲージを画像のように、CPの下に反映させる、
なんてことは可能でしょうか…??
02072A13-7072-4691-9E53-1AD7C65DE26D.png
普通にプラグインパラメーター「Gauge Style」のUnder Nameではダメなのでしょうか?
細かい画面要素の座標調整はかなり手間がかかりますので…

Re: Yanfly様のプラグインによるHP表示について

Posted: 2018年1月08日(月) 23:52
by ネコムスメ
>剣崎様

ありがとうございます!


名前の下だと、名前とゲージがかぶってしまい
画面がすごく見づらくなるんですよね、、、
難しいですよね、諦めます、
不躾なお願いですみませんでした><