Project1

标题: 能否拉长HP显示条? [打印本页]

作者: xggzga117    时间: 2012-8-17 20:14
标题: 能否拉长HP显示条?
或者其它办法,那挤在一起的数字看得好难受……

未命名111.jpg (96.69 KB, 下载次数: 29)

未命名111.jpg

作者: xggzga117    时间: 2012-8-17 20:29
自顶!!!
作者: chxush    时间: 2012-8-17 20:49
  1. class Window_BattleStatus < Window_Selectable
  2.   def draw_gauge_area_with_tp(rect, actor)
  3.     draw_actor_hp(actor, rect.x - 60, rect.y, 90)
  4.     draw_actor_mp(actor, rect.x + 34, rect.y, 90)
  5.     draw_actor_tp(actor, rect.x + 128, rect.y, 90)
  6.   end
  7. end
复制代码

血条效果如图 可能会被 长名字 人物状态遮盖
作者: xggzga117    时间: 2012-8-18 11:10
楼上的脚本要复制在神马地方?
作者: xggzga117    时间: 2012-8-18 11:14
应该是在window_battlestatus的‘绘制值槽区域(包括TP)’吧?
我猜。


‘‘──xggzga117于2012-8-18 11:16补充以下内容:

其它方法可行吗?例如让数字显示正常化而不拉长血条。
’’
作者: chxush    时间: 2012-8-18 20:38
本帖最后由 chxush 于 2012-8-18 20:42 编辑
  1. class Window_Base < Window
  2.     #--------------------------------------------------------------------------
  3.   # ● 以 当前值/最大值 这样的分数形式绘制当前值和最大值
  4.   #     current : 当前值
  5.   #     max     : 最大值
  6.   #     color1  : 当前值的颜色
  7.   #     color2  : 最大值的颜色
  8.   #--------------------------------------------------------------------------
  9.   def draw_current_and_max_values(x, y, width, current, max, color1, color2)
  10.     change_color(color1)
  11.     xr = x + width
  12.     if width < 96
  13.       draw_text(xr - 54, y, 56, line_height, current, 2)#改了这行
  14.     else
  15.       draw_text(xr - 92, y, 42, line_height, current, 2)
  16.       change_color(color2)
  17.       draw_text(xr - 52, y, 12, line_height, "/", 2)
  18.       draw_text(xr - 42, y, 42, line_height, max, 2)
  19.     end
  20.   end
  21. end
复制代码

前面我没看清要求 以为是要求加长血条
不过只能最多4位数 5位数数字还是会被挤扁
而且如果MP值4位数的话 因为蓝条长度不修改的话挤不下 会出现一个数字与"MP"重合的情况


作者: xggzga117    时间: 2012-8-19 11:12
多谢了。
请问这个脚本应该放在哪里?
作者: chxush    时间: 2012-8-19 21:03
xggzga117 发表于 2012-8-19 11:12
多谢了。
请问这个脚本应该放在哪里?

5,4,4位数也可以 但是要加长血条
作者: chxush    时间: 2012-8-19 21:26
  1. class Window_BattleStatus < Window_Selectable
  2.   def draw_gauge_area_with_tp(rect, actor)
  3.     draw_actor_hp(actor, rect.x - 60, rect.y, 90)
  4.     draw_actor_mp(actor, rect.x + 34, rect.y, 90)
  5.     draw_actor_tp(actor, rect.x + 128, rect.y, 90)
  6.   end
  7. end

  8. class Window_Base < Window
  9.   #--------------------------------------------------------------------------
  10.   # ● 绘制 TP
  11.   #--------------------------------------------------------------------------
  12.     def draw_actor_tp(actor, x, y, width = 124)
  13.     draw_gauge(x, y, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
  14.     change_color(system_color)
  15.     draw_text(x, y, 30, line_height, Vocab::tp_a)
  16.     change_color(tp_color(actor))
  17.     draw_text(x + width - 80, y, 80, line_height, actor.tp.to_i, 2)
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 以 当前值/最大值 这样的分数形式绘制当前值和最大值
  21.   #     current : 当前值
  22.   #     max     : 最大值
  23.   #     color1  : 当前值的颜色
  24.   #     color2  : 最大值的颜色
  25.   #--------------------------------------------------------------------------
  26.   def draw_current_and_max_values(x, y, width, current, max, color1, color2)
  27.     change_color(color1)
  28.     xr = x + width
  29.     if width < 96
  30.       draw_text(xr - 80, y, 80, line_height, current, 2)#改了这行
  31.     else
  32.       draw_text(xr - 92, y, 42, line_height, current, 2)
  33.       change_color(color2)
  34.       draw_text(xr - 52, y, 12, line_height, "/", 2)
  35.       draw_text(xr - 42, y, 42, line_height, max, 2)
  36.     end
  37.   end
  38. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1