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

Project1

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

[有事请教] 求大佬帮写个菜单画面中血条变色的插件吧!

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6496
在线时间
941 小时
注册时间
2006-7-18
帖子
508
跳转到指定楼层
1
发表于 2023-4-10 18:52:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10星屑
在搞一个野生的工程,想把血条改成不能直接看到血量多少的模式。
想法1:就是改成生化危机的心电图哪样。不过似乎比较麻烦?
想法2:血条并不会因为受伤而逐渐变短!单纯血条变色。血量75%以上时绿色,25%以上时黄色,25%以下时红色!

能实现其中一种方式就可以 了!
这几天尝试用AI帮忙,可折腾半天就是搞不出来,果然自己不懂代码,找AI也没用,看不懂。

最佳答案

查看完整内容

这样可以满足条件二,你这个要求心电图的样式我没见过,也不知道怎么做。 用这个需要在插件里安装 Drill 大佬的 Drill_CoreOfColor.js 插件才能用。 color123 的 [] 里面的数字就是 Drill_CoreOfColor 中的颜色。 想要去掉血量数字的话就把最后 drawCurrentAndMax 那一行注释掉或者删掉。 Window_Base.prototype.drawGaugeHHPP = function(x, y, width, rate, color1, color2, color3) { var fillW = Math.floor(width * ...

Lv3.寻梦者

梦石
0
星屑
3699
在线时间
594 小时
注册时间
2022-11-26
帖子
286
2
发表于 2023-4-10 18:52:20 | 只看该作者
本帖最后由 余杭 于 2023-4-10 23:04 编辑

这样可以满足条件二,你这个要求心电图的样式我没见过,也不知道怎么做。

用这个需要在插件里安装 Drill 大佬的 Drill_CoreOfColor.js 插件才能用。

color123 的 [] 里面的数字就是 Drill_CoreOfColor 中的颜色。

想要去掉血量数字的话就把最后 drawCurrentAndMax 那一行注释掉或者删掉。

JAVASCRIPT 代码复制
  1. Window_Base.prototype.drawGaugeHHPP = function(x, y, width, rate, color1, color2, color3) {
  2.     var fillW = Math.floor(width * 1);
  3.     var gaugeY = y + this.lineHeight() - 18;
  4.     this.contents.fillRect(x, gaugeY, width, 16, this.gaugeBackColor());
  5.         if (rate <=0.25) {
  6.                 this.contents.gradientFillRect(x, gaugeY, fillW, 16, color1, color1);
  7.         } else if (rate <= 0.75) {
  8.                 this.contents.gradientFillRect(x, gaugeY, fillW, 16, color2, color2);
  9.         } else {
  10.                 this.contents.gradientFillRect(x, gaugeY, fillW, 16, color3, color3);
  11.         }
  12. };
  13.  
  14. Window_Base.prototype.drawActorHp = function(actor, x, y, width) {
  15.     width = width || 186;
  16.     var DrillColors = DrillUp.g_COC_color_list;
  17.     var color1 = DrillColors[1].color;
  18.     var color2 = DrillColors[2].color;
  19.     var color3 = DrillColors[3].color;
  20.     this.drawGaugeHHPP(x, y, width, actor.hpRate(), color1, color2, color3);
  21.     // this.drawGauge(x, y, width, actor.hpRate(), color1, color2);
  22.     this.changeTextColor(this.systemColor());
  23.     this.drawText(TextManager.hpA, x, y, 44);
  24.     this.drawCurrentAndMax(actor.hp, actor.mhp, x, y, width, this.hpColor(actor), this.normalColor());
  25. };
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6496
在线时间
941 小时
注册时间
2006-7-18
帖子
508
3
 楼主| 发表于 2023-4-11 08:07:00 | 只看该作者
余杭 发表于 2023-4-10 18:52
这样可以满足条件二,你这个要求心电图的样式我没见过,也不知道怎么做。

用这个需要在插件里安装 Drill  ...

谢谢!完全符合要求!有点小问题!我加大了血条长度宽度想放在头像后面当背景色,发现结果是挡住了头像,调整了插件顺序也不行,是显示优先度的问题么?
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3699
在线时间
594 小时
注册时间
2022-11-26
帖子
286
4
发表于 2023-4-11 09:05:35 | 只看该作者
雷影 发表于 2023-4-11 08:07
谢谢!完全符合要求!有点小问题!我加大了血条长度宽度想放在头像后面当背景色,发现结果是挡住了头像, ...

的确是优先度问题,先绘制的会在下面,你想把血条放头像下面的话,有很多地方都要改了,不如不放在头像下面
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6496
在线时间
941 小时
注册时间
2006-7-18
帖子
508
5
 楼主| 发表于 2023-4-12 23:50:43 | 只看该作者
本帖最后由 雷影 于 2023-4-12 23:54 编辑
余杭 发表于 2023-4-11 09:05
的确是优先度问题,先绘制的会在下面,你想把血条放头像下面的话,有很多地方都要改了,不如不放在头像下 ...


大佬!我想到血条改成心电图的方法了,不知道可不可行?
在这个插件基础上!能不能改成或者加上指定数据库里ID的动画?
预设3种心电图的动画,在3个状态下分别循环播放就可以了!

另外在3个血量判断里,增加一个优先级比较高的 中毒 紫色状态成第四个状态可行不!
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3699
在线时间
594 小时
注册时间
2022-11-26
帖子
286
6
发表于 2023-4-13 00:05:29 | 只看该作者
雷影 发表于 2023-4-12 23:50
大佬!我想到血条改成心电图的方法了,不知道可不可行?
在这个插件基础上!能不能改成或者加上指定数据 ...

状态可以,动画不好改,他们用的窗口不一样
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6496
在线时间
941 小时
注册时间
2006-7-18
帖子
508
7
 楼主| 发表于 2023-4-13 07:32:37 | 只看该作者
余杭 发表于 2023-4-13 00:05
状态可以,动画不好改,他们用的窗口不一样

不能显示动画,哪显示图片行么?比如类似步行图哪样,可以动的帧数比较多的步行图?
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10741
在线时间
2032 小时
注册时间
2013-6-10
帖子
1499
8
发表于 2023-4-13 08:30:22 | 只看该作者
竟是06年的大佬
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 20:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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