小秋橙 发表于 2023-5-5 16:19 大佬,请问怎么在栏里添加暴击率命中率这些附加属性? |
小秋橙 发表于 2023-5-25 13:55 谢谢大佬指点!已经成功修改顺序了!!!大佬威武 |
ex悠米桑 发表于 2023-5-25 05:56 好问题,这就涉及到窗口类的继承关系了。 Window_StatusBase类有两个子类Window_StatusParams和Window_EquipStatus。 Window_EquipStatus类由drawAllParams方法(我上面的回答)控制顺序,而Window_StatusParams类由drawItem方法控制顺序。 因此需要重写该方法: Window_StatusParams.prototype.drawItem = function(index) { const rect = this.itemLineRect([0,1,4,5,2,3][index]); // 修改这一行,注意下一行会+2 const paramId = index + 2; const name = TextManager.param(paramId); const value = this._actor.param(paramId); this.changeTextColor(ColorManager.systemColor()); this.drawText(name, rect.x, rect.y, 160); this.resetTextColor(); this.drawText(value, rect.x + 160, rect.y, 60, "right"); }; |
小秋橙 发表于 2023-5-5 16:19 我也用了一下大佬的方法,但是只有在装备页面顺序修改了,但是在状态界面,还是默认的顺序???不知道是不是我哪里搞错了……求个指教 |
小秋橙 发表于 2023-5-5 16:19 好的,谢谢大佬 |
解决掉了 |
Window_EquipStatus.prototype.drawAllParams = function() { let a = [2,3,6,7,4,5]; // 强行指定顺序,默认是2,3,4,5,6,7(0和1是最大hp/mp) for (let i = 0; i < 6; i++) { const x = this.itemPadding(); const y = this.paramY(i); this.drawItem(x, y, a[i]); // 读取上面指定的顺序,而不是默认的 2+i } }; 上述函数位于rmmz_windows.js的第2523行左右,有注释的两行为新增或修改内容。 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-22 22:25
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.