| 赞 | 46 |
| VIP | |
| 好人卡 | |
| 积分 | 97 |
| 经验 | |
| 最后登录 | 2026-6-17 |
| 在线时间 | 2775 小时 |
梦石0
星屑9716
在线时间2775 小时
注册时间2008-9-5
回帖3458
   
|
发表于 2016-9-8 21:47:50
|
显示全部楼层
本帖最后由 cinderelmini 于 2016-9-10 15:12 编辑
默认系统的情况下,
把下面的代码放入Main前,然后把Window_Status里面的33~36行的
【draw_actor_parameter】(没意外的话这4行方法的最后一个参数分别是3、4、5、6)
改成【draw_actor_parameter_meter】括弧里的参数不要改。
反正用法和默认的【draw_actor_parameter】一样,
需要注意的就是属性参数只能是从3~6,分别指的就是四围。
PS:这段代码里的值槽只弄了个简易的……
【Main前Insert的代码】
- class Window_Base < Window
- # 能力值最大值
- PARAM_MAX = 999
- #--------------------------------------------------------------------------
- # ○ 描绘带值槽的能力值
- # actor : 角色
- # x : 描画目标 X 坐标
- # y : 描画目标 Y 坐标
- # type : 能力值种类 (3~6)
- #--------------------------------------------------------------------------
- def draw_actor_parameter_meter(actor, x, y, type)
- case type
- when 3 # 力量
- parameter_name = $data_system.words.str
- parameter_value = actor.str
- meter_color = Color.new(255, 0, 0)
- when 4 # 灵巧
- parameter_name = $data_system.words.dex
- parameter_value = actor.dex
- meter_color = Color.new(0, 255, 0)
- when 5 # 速度
- parameter_name = $data_system.words.agi
- parameter_value = actor.agi
- meter_color = Color.new(0, 255, 255)
- when 6 # 魔力
- parameter_name = $data_system.words.int
- parameter_value = actor.int
- meter_color = Color.new(0, 0, 255)
- end
- # 绘制值槽
- rate = parameter_value.to_f / PARAM_MAX
- draw_meter_with_color(x + 50, y + 14, 72, 10, rate, meter_color)
- # 绘制文字和数值
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 120, 32, parameter_name)
- self.contents.font.color = normal_color
- self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
- end
- #--------------------------------------------------------------------------
- # ○ 描绘设置颜色的值槽
- #--------------------------------------------------------------------------
- def draw_meter_with_color(x, y, width, height, rate, color)
- meter_width = (width * rate).round
- rect = Rect.new(x, y, meter_width, height)
- contents.fill_rect(rect, color)
- end
- #--------------------------------------------------------------------------
- # ○ 描绘值槽
- #--------------------------------------------------------------------------
- def draw_meter(x, y, width, height, rate)
- rect = Rect.new(x, y, width, height)
- contents.fill_rect(rect, Color.new(0, 0, 0))
- meter_width = ((width - 2) * rate).round
- rect = Rect.new(x + 1, y + 1, meter_width, height - 2)
- contents.fill_rect(rect, Color.new(255, 255, 255))
- end
- end
复制代码 |
评分
-
查看全部评分
|