Project1

标题: 【已经解决】为何这个技能消耗的显示会出错?(代码问..... [打印本页]

作者: 新耀012478    时间: 2021-12-18 21:39
标题: 【已经解决】为何这个技能消耗的显示会出错?(代码问.....
本帖最后由 新耀012478 于 2021-12-18 21:47 编辑

Window_SkillList.prototype.drawSkillCost = function(skill, x, y, width) {
  x=width;
  if (this._actor.skillTpCost(skill) > 0) {
    this.changeTextColor(this.tpCostColor());
    width = this.textWidth(this._actor.skillTpCost(skill));
    this.drawText(this._actor.skillTpCost(skill), x-width, y, width);
    x=x-width-this.textWidth('0');
  };
  if (this._actor.skillMpCost(skill) > 0) {
    this.changeTextColor(this.mpCostColor());
    width = this.textWidth(this._actor.skillMpCost(skill));
    this.drawText(this._actor.skillMpCost(skill), x-width, y, width);
    x=x-width-this.textWidth('0');
  };
  //这里其实还有个HP的显示,但我删掉以后还是有那个问题。
};
右边那个技能应该有五点的魔法消耗才对,左边我改成了五点魔法消耗跟五点TP消耗。
之所以是日语是因为我打开了一个日语的插件效果展示的工程。
因为MV自带的只能显示TP跟MP里的一个,我就改了一下,把else if给换成了if。
这段的效果应该就变成了从最右边写起,每次只刚好显示技能消耗的数字占用的宽度,
两种不同的消耗之间有一个数字的宽度,却不知为何绿色的TP的位置变成了蓝色,右边的蓝色干脆没了……
该不是右边的数字显示到左边的按钮上去了吧?可我没写什么奇怪的东西啊……最多只是删掉了它原来有的‘right’

捕获.PNG (47.57 KB, 下载次数: 15)

最终效果

最终效果

作者: 新耀012478    时间: 2021-12-18 21:46
好吧……确实是右边的数字显示到左边上去了……我把左边的技能消耗全改到右边上去,结果竟然是左边……
应该是因为那个x=width,我以为它的坐标指得是按钮内部的坐标……
我改成x>width? x=width*2:x=width;以后bug没了……打扰各位了。




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