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

Project1

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

[有事请教] 请问如何实现某个属性在更改装备时数值变化的颜色相反

[复制链接]

Lv1.梦旅人

梦石
0
星屑
148
在线时间
21 小时
注册时间
2023-5-15
帖子
8
跳转到指定楼层
1
发表于 2023-10-10 20:52:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
20星屑
一般来说,在修改装备的时候,显示属性值的改变,一般使用绿色表示提升,用红色表示下降。

我在游戏中使用‘负重’来代替‘幸运’这一属性,如果负重过高则会影响回避率,是一种负面属性,所以想让这个属性的提升变为红色,下降变为绿色,想请教各位大佬有没有好的办法,谢谢~~!

Snipaste_2023-10-10_20-51-00.png (45.39 KB, 下载次数: 63)

Snipaste_2023-10-10_20-51-00.png

最佳答案

查看完整内容

在rmmz_managers.js中可以找到以下代码来控制颜色,需要对它的定义进行改写来加入属性ID参数,同时在调用它的两个地方传入属性ID。 ColorManager.paramchangeTextColor = function(change, paramId) { if (paramId === 7) change = -change; // 上一行为修改内容(添加paramId参数),本行为新增内容,表示幸运值(7号属性)为负面属性,增加为红,减少为绿 if (change > 0) { return this.powerUpColor(); } ...

Lv4.逐梦者

梦石
0
星屑
7289
在线时间
475 小时
注册时间
2021-12-4
帖子
514
2
发表于 2023-10-10 20:52:18 | 只看该作者
在rmmz_managers.js中可以找到以下代码来控制颜色,需要对它的定义进行改写来加入属性ID参数,同时在调用它的两个地方传入属性ID。
JS 代码复制
  1. ColorManager.paramchangeTextColor = function(change, paramId) {
  2.     if (paramId === 7) change = -change; // 上一行为修改内容(添加paramId参数),本行为新增内容,表示幸运值(7号属性)为负面属性,增加为红,减少为绿
  3.     if (change > 0) {
  4.         return this.powerUpColor();
  5.     } else if (change < 0) {
  6.         return this.powerDownColor();
  7.     } else {
  8.         return this.normalColor();
  9.     }
  10. };

下面两段代码都在rmmz_windows.js文件。
JS 代码复制
  1. Window_EquipStatus.prototype.drawNewParam = function(x, y, paramId) {
  2.     const paramWidth = this.paramWidth();
  3.     const newValue = this._tempActor.param(paramId);
  4.     const diffvalue = newValue - this._actor.param(paramId);
  5.     this.changeTextColor(ColorManager.paramchangeTextColor(diffvalue, paramId)); // 本行为修改内容,添加paramId参数
  6.     this.drawText(newValue, x, y, paramWidth, "right");
  7. };
  8. // 以上为第2570行,以下为第3730行。
  9. Window_ShopStatus.prototype.drawActorParamChange = function(x, y, actor, item1) {
  10.     const width = this.innerWidth - this.itemPadding() - x;
  11.     const paramId = this.paramId();
  12.     const change = this._item.params[paramId] - (item1 ? item1.params[paramId] : 0);
  13.     this.changeTextColor(ColorManager.paramchangeTextColor(change, paramId)); // 本行为修改内容,添加paramId参数
  14.     this.drawText((change > 0 ? "+" : "") + change, x, y, width, "right");
  15. };
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
148
在线时间
21 小时
注册时间
2023-5-15
帖子
8
3
 楼主| 发表于 2023-10-11 09:38:37 | 只看该作者
本帖最后由 Zyhond 于 2023-10-11 09:39 编辑

修改了代码之后就弄好了,现在就可以实现想要的效果了

谢谢大佬~!
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 10:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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