Project1

标题: 如何根据属性或则变量数值绘制槽值? [打印本页]

作者: 游鱼戏虾    时间: 2019-3-16 10:55
标题: 如何根据属性或则变量数值绘制槽值?
最近在魔改战斗界面的时候发现属性条目用类似HP\MP\TP的槽值来表现更为直观。
想要对照
JAVASCRIPT 代码复制
  1. Window_Base.prototype.drawActorTP = function(actor, x, y, width) {
  2.     width = width || 184;
  3.     var color1 = this.tpGaugeColor1();
  4.     var color2 = this.tpGaugeColor2();
  5.     this.drawGauge(x, y, width, actor.tpRate(), color1, color2);
  6.     this.changeTextColor(this.systemColor());
  7.     this.drawText(TextManager.tpA, x, y, 44);
  8.     this.changeTextColor(this.tpColor(actor));
  9.     this.drawText(actor.tp, x + width - 64, y, 64, 'right');
  10. };

来写一个根据变量属性(满值999)在战斗中动态调整的槽值。

单纯的写成“变量Rate”当然会提示没有定义,但是发现actor.tpRate()这个比例条目类型在系统插件里面找不到写法,想要仿写一个定义有有点儿不知道肿么写,希望大佬指点谢谢。

PS:没有使用市面已有的系列插件,因为用不上那么多功能。。。

作者: 游鱼戏虾    时间: 2019-3-16 11:56
本帖最后由 游鱼戏虾 于 2019-3-16 12:01 编辑

照着大佬的教程,自己搞了一个出来,谢谢大家23333
JAVASCRIPT 代码复制
  1. Window_NEWBattleStatus.prototype.drawsxcz = function(x, y) {
  2.     var color1 = this.textColor(0);
  3.     var color2 = this.textColor(20);
  4.     var v1 = $gameVariables.value(1);
  5.     var v2 = 999;
  6.         var rate = v1 / v2;
  7.         var width = 300;
  8.         var fill = Math.floor(width * rate)
  9.         this.contents.fillRect(x, y ,width,5,color1)
  10.         this.contents.gradientFillRect(x, y ,fill ,5,color2,color2)
  11. };

但是这个只是针对1个变量的槽值。。。一个个写实在是...
如果大佬能告诉我如何用$gameVariables.value(i)和i++来直接写一列的属性槽就更好了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1