赞 | 23 |
VIP | 22 |
好人卡 | 18 |
积分 | 608 |
经验 | 44466 |
最后登录 | 2024-11-9 |
在线时间 | 1934 小时 |
Lv6.析梦学徒 Fuzzy Ginkgo Taciturn Knight
- 梦石
- 0
- 星屑
- 60834
- 在线时间
- 1934 小时
- 注册时间
- 2010-6-26
- 帖子
- 1605
|
本帖最后由 orzfly 于 2011-8-18 02:12 编辑
- module Kernel;def convert_integer(integer,length=4);return sprintf('%0'+length.to_s_old+'d',integer.to_i)[-length,length];end;end;class Fixnum<Integer;@@def_to_s||=false;((alias to_s_old to_s);@@def_to_s=true)unless(method_defined?(:to_s_old)|@@def_to_s);def to_s(*args);args.size!=0?to_s_old(*args):convert_integer(self);end;end
复制代码 像大部分脚本一样插入在Main前后,整个游戏都是4位数。真蛋疼。这个是蛋疼用的,能替换掉全局。
2楼的一行精简版在这里。- module Kernel;def convert_integer(integer,length=4);return sprintf('%0'+length.to_s_old+'d',integer.to_i)[-length,length];end;end
复制代码 这个的使用方法:在脚本中找到你要设置位数的那个变量的绘制(draw_text 后面的),比如角色的等级
我找到了Window_Base的- #--------------------------------------------------------------------------
- # ● 水平的描画
- # actor : 角色
- # x : 描画目标 X 坐标
- # y : 描画目标 Y 坐标
- #--------------------------------------------------------------------------
- def draw_actor_level(actor, x, y)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)
- self.contents.font.color = normal_color
- self.contents.draw_text(x + 32, y, 24, WLH, actor.level, 2)
- end
复制代码 里面有个actor.level,把它改成convert_integer(actor.level, 2)就变成两位了。
同理下面的- #--------------------------------------------------------------------------
- # ● HP的描画
- # actor : 角色
- # x : 描画目标 X 坐标
- # y : 描画目标 Y 坐标
- # width : 宽
- #--------------------------------------------------------------------------
- def draw_actor_hp(actor, x, y, width = 120)
- draw_actor_hp_gauge(actor, x, y, width)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 30, WLH, Vocab::hp_a)
- self.contents.font.color = hp_color(actor)
- xr = x + width
- if width < 120
- self.contents.draw_text(xr - 40, y, 40, WLH, actor.hp, 2)
- else
- self.contents.draw_text(xr - 90, y, 40, WLH, actor.hp, 2)
- self.contents.font.color = normal_color
- self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
- self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxhp, 2)
- end
- end
复制代码 把actor.hp改成convert_integer(actor.hp, 4),把actor.maxhp改成convert_integer(actor.maxhp, 4)。角色的HP就都变成4位显示了。
自己研究。 |
|