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

Project1

 找回密码
 注册会员
搜索

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

查看数: 501 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-10-10 20:52

正文摘要:

一般来说,在修改装备的时候,显示属性值的改变,一般使用绿色表示提升,用红色表示下降。 我在游戏中使用‘负重’来代替‘幸运’这一属性,如果负重过高则会影响回避率,是一种负面属性,所以想让这个属性的提升变 ...

回复

Zyhond 发表于 2023-10-11 09:38:37
本帖最后由 Zyhond 于 2023-10-11 09:39 编辑

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

谢谢大佬~!
小秋橙 发表于 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. };
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-5-11 17:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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