设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1333|回复: 7
打印 上一主题 下一主题

[有事请教] 纯小白,想问下怎么让状态栏的敏捷和幸运放在攻击防御.....

[复制链接]

Lv1.梦旅人

梦石
0
星屑
71
在线时间
17 小时
注册时间
2023-4-28
帖子
3
跳转到指定楼层
1
发表于 2023-5-5 16:19:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
10星屑
本帖最后由 cwz 于 2023-5-5 16:28 编辑


如图,我想让第三行显示成敏捷:0,第四行显示成幸运:27,然后最后两行才是魔法攻击魔法防御。

是在rmmz_windows.js里面改吗?有没有大佬告诉我该怎么改?研究了大半天了


还有这个装备栏上的,同样也想把敏捷和幸运放到第三四行

最佳答案

查看完整内容

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); // 读取上面指定的顺序,而不是默认的 2+i } }; 上述函数位于rmmz_windows.js的第2523行左右,有注释的两行为新增或修改内容。 ...

Lv4.逐梦者

梦石
0
星屑
7289
在线时间
475 小时
注册时间
2021-12-4
帖子
514
2
发表于 2023-5-5 16:19:14 | 只看该作者
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行左右,有注释的两行为新增或修改内容。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
71
在线时间
17 小时
注册时间
2023-4-28
帖子
3
3
 楼主| 发表于 2023-5-6 14:29:17 | 只看该作者
解决掉了
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
71
在线时间
17 小时
注册时间
2023-4-28
帖子
3
4
 楼主| 发表于 2023-5-8 15:34:55 | 只看该作者
小秋橙 发表于 2023-5-5 16:19
Window_EquipStatus.prototype.drawAllParams = function() {
    let a = [2,3,6,7,4,5]; // 强行指定顺序 ...

好的,谢谢大佬
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
664
在线时间
100 小时
注册时间
2022-1-3
帖子
66
5
发表于 2023-5-25 05:56:28 | 只看该作者
小秋橙 发表于 2023-5-5 16:19
Window_EquipStatus.prototype.drawAllParams = function() {
    let a = [2,3,6,7,4,5]; // 强行指定顺序 ...

我也用了一下大佬的方法,但是只有在装备页面顺序修改了,但是在状态界面,还是默认的顺序???不知道是不是我哪里搞错了……求个指教
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7289
在线时间
475 小时
注册时间
2021-12-4
帖子
514
6
发表于 2023-5-25 13:55:06 | 只看该作者
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");
};
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
664
在线时间
100 小时
注册时间
2022-1-3
帖子
66
7
发表于 2023-5-25 15:45:04 | 只看该作者
小秋橙 发表于 2023-5-25 13:55
好问题,这就涉及到窗口类的继承关系了。
Window_StatusBase类有两个子类Window_StatusParams和Window_Eq ...

谢谢大佬指点!已经成功修改顺序了!!!大佬威武
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
189
在线时间
52 小时
注册时间
2023-7-14
帖子
30
8
发表于 2023-7-29 14:58:54 | 只看该作者
小秋橙 发表于 2023-5-5 16:19
Window_EquipStatus.prototype.drawAllParams = function() {
    let a = [2,3,6,7,4,5]; // 强行指定顺序 ...

大佬,请问怎么在栏里添加暴击率命中率这些附加属性?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 22:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表