Project1
标题: 如何根据属性或则变量数值绘制槽值? [打印本页]
作者: 游鱼戏虾 时间: 2019-3-16 10:55
标题: 如何根据属性或则变量数值绘制槽值?
最近在魔改战斗界面的时候发现属性条目用类似HP\MP\TP的槽值来表现更为直观。
想要对照
Window_Base.prototype.drawActorTP = function(actor, x, y, width) {
width = width || 184;
var color1 = this.tpGaugeColor1();
var color2 = this.tpGaugeColor2();
this.drawGauge(x, y, width, actor.tpRate(), color1, color2);
this.changeTextColor(this.systemColor());
this.drawText(TextManager.tpA, x, y, 44);
this.changeTextColor(this.tpColor(actor));
this.drawText(actor.tp, x + width - 64, y, 64, 'right');
};
Window_Base.prototype.drawActorTP = function(actor, x, y, width) {
width = width || 184;
var color1 = this.tpGaugeColor1();
var color2 = this.tpGaugeColor2();
this.drawGauge(x, y, width, actor.tpRate(), color1, color2);
this.changeTextColor(this.systemColor());
this.drawText(TextManager.tpA, x, y, 44);
this.changeTextColor(this.tpColor(actor));
this.drawText(actor.tp, x + width - 64, y, 64, 'right');
};
来写一个根据变量属性(满值999)在战斗中动态调整的槽值。
单纯的写成“变量Rate”当然会提示没有定义,但是发现actor.tpRate()这个比例条目类型在系统插件里面找不到写法,想要仿写一个定义有有点儿不知道肿么写,希望大佬指点谢谢。
PS:没有使用市面已有的系列插件,因为用不上那么多功能。。。
作者: 游鱼戏虾 时间: 2019-3-16 11:56
本帖最后由 游鱼戏虾 于 2019-3-16 12:01 编辑
照着大佬的教程,自己搞了一个出来,谢谢大家23333
Window_NEWBattleStatus.prototype.drawsxcz = function(x, y) {
var color1 = this.textColor(0);
var color2 = this.textColor(20);
var v1 = $gameVariables.value(1);
var v2 = 999;
var rate = v1 / v2;
var width = 300;
var fill = Math.floor(width * rate)
this.contents.fillRect(x, y ,width,5,color1)
this.contents.gradientFillRect(x, y ,fill ,5,color2,color2)
};
Window_NEWBattleStatus.prototype.drawsxcz = function(x, y) {
var color1 = this.textColor(0);
var color2 = this.textColor(20);
var v1 = $gameVariables.value(1);
var v2 = 999;
var rate = v1 / v2;
var width = 300;
var fill = Math.floor(width * rate)
this.contents.fillRect(x, y ,width,5,color1)
this.contents.gradientFillRect(x, y ,fill ,5,color2,color2)
};
但是这个只是针对1个变量的槽值。。。一个个写实在是...
如果大佬能告诉我如何用$gameVariables.value(i)和i++来直接写一列的属性槽就更好了。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |