Project1

标题: 菜单 这个HP数字的宽 在什么地方找的 [打印本页]

作者: z2z4    时间: 2013-8-8 06:30
标题: 菜单 这个HP数字的宽 在什么地方找的


我找了半天怎么  没找到这个 HP数字的宽 我想放宽点 不然 破万 就会缩小
作者: clear仔    时间: 2013-8-8 08:11
在所有draw_actor_hp方法后再加一个参数,数值为你要的宽。
(actor, x, y, width)
作者: fangyc    时间: 2013-8-8 08:27
或者在 Window_Base 里找
def draw_actor_hp(actor, x, y, width = 114)
width = 114 是默认值(好像记得是这个数,可能不一定是114)
直接把默认值改大点,比如 width = 196 之类,其他地方就可以基本不用改了。
作者: fangyc    时间: 2013-8-8 08:56
fangyc 发表于 2013-8-8 08:27
或者在 Window_Base 里找
def draw_actor_hp(actor, x, y, width = 114)
width = 114 是默认值(好像记得是 ...

哦哦哦,这个好像只是改血条的长度……
你要深入到这个方法里面去找 draw_text(x, y, width, height, actor.hp) 之类的,该这个方法里面的 width
作者: clear仔    时间: 2013-8-8 13:53
参考了一下楼下的说法:(我用XP的,不知道VX是否一样)
找到Window_BattleStatus
第一个方法:def initialize中找到
self.contents = Bitmap.new(width - 32, height - 32)将一个参数改大就行了。(去掉-32或者写上+)
不推荐这样做,因为这样文字会与下一个角色的文字重叠
作者: clear仔    时间: 2013-8-8 15:33
额……好吧……(为了你这问题我还去专门下个VA……)
找到Window_Base里的def create_contents
里面self.contents = Bitmap.new(contents_width, contents_height)
改为self.contents = Bitmap.new(contents_width+x, contents_height)
x为你要扩大的多少……
应该就是这样,没用过VA……
【顺便秀一个东西,无意间看到的
这是任务栏……省得真恰当……】
作者: fangyc    时间: 2013-8-8 19:02
是这里控制的,Window_Base
  1.   def draw_current_and_max_values(x, y, width, current, max, color1, color2)
  2.     change_color(color1)
  3.     xr = x + width
  4.     if width < 96
  5.       draw_text(xr - 40, y, 42, line_height, current, 2)
  6.     else
  7.       draw_text(xr - 140, y, 64, line_height, current, 2)
  8.       change_color(color2)
  9.       draw_text(xr - 76, y, 12, line_height, "/", 2)
  10.       draw_text(xr - 64, y, 64, line_height, max, 2)
  11.     end
  12.   end
复制代码
7~10行的X坐标和width调整一下就行了。
这是我这个数字时的结果
我只是随便调的,你自己要微调一下,不过至少可以看到HP的显示幅度已经变宽了

作者: fangyc    时间: 2013-8-8 20:12
本帖最后由 fangyc 于 2013-8-8 20:14 编辑

width就是宽
x是位置
我自己微调过了,你是要这样的效果吧?
全部显示下来需要调整下血条的长度
还有24行和35行的 x -= 35 这里最好不要这么写,可以在外面调用的地方就把X坐标调整一下


我的代码如下
  1.   #--------------------------------------------------------------------------
  2.   # ● 以 当前值/最大值 这样的分数形式绘制当前值和最大值
  3.   #     current : 当前值
  4.   #     max     : 最大值
  5.   #     color1  : 当前值的颜色
  6.   #     color2  : 最大值的颜色
  7.   #--------------------------------------------------------------------------
  8.   def draw_current_and_max_values(x, y, width, current, max, color1, color2)
  9.     change_color(color1)
  10.     xr = x + width
  11.     if width < 96
  12.       draw_text(xr - 40, y, 42, line_height, current, 2)
  13.     else
  14.       draw_text(xr - 132, y, 64, line_height, "99999", 2)
  15.       change_color(color2)
  16.       draw_text(xr - 72, y, 12, line_height, "/", 2)
  17.       draw_text(xr - 96, y, 96, line_height, "99999", 2)
  18.     end
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 绘制 HP
  22.   #--------------------------------------------------------------------------
  23.   def draw_actor_hp(actor, x, y, width = 152)
  24.     x -= 32
  25.     draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  26.     change_color(system_color)
  27.     draw_text(x, y, 30, line_height, Vocab::hp_a)
  28.     draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
  29.       hp_color(actor), normal_color)
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 绘制 MP
  33.   #--------------------------------------------------------------------------
  34.   def draw_actor_mp(actor, x, y, width = 152)
  35.     x -= 32
  36.     draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  37.     change_color(system_color)
  38.     draw_text(x, y, 30, line_height, Vocab::mp_a)
  39.     draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,
  40.       mp_color(actor), normal_color)
  41.   end
复制代码

作者: xggzga117    时间: 2013-8-8 20:26
传送门……
http://rpg.blue/thread-282132-1-1.html




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