本帖最后由 魔法丶小肉包 于 2017-7-18 23:24 编辑
可以选择照着draw_actor_hp的方法来改一改写个新方法,比如
class Window_Base < Window def draw_actor_v(actor, x, y, width = 124) draw_gauge(x, y, width, $game_variables[1].to_f/100, hp_gauge_color1, hp_gauge_color2) change_color(system_color) draw_text(x, y, 30, line_height, "变量") draw_current_and_max_values(x, y, width, $game_variables[1], 100, hp_color(actor), normal_color) end end
class Window_Base < Window
def draw_actor_v(actor, x, y, width = 124)
draw_gauge(x, y, width, $game_variables[1].to_f/100, hp_gauge_color1, hp_gauge_color2)
change_color(system_color)
draw_text(x, y, 30, line_height, "变量")
draw_current_and_max_values(x, y, width, $game_variables[1], 100,
hp_color(actor), normal_color)
end
end
当然各种细节方面可以自己修改,这里只是举个变量条的简单的例子...
然后在想调用的地方调用就好了
举个例子,战斗状态界面,效果:角色mp和tp都为0时,只描绘hp和变量条
class Window_BattleStatus < Window_Selectable #-------------------------------------------------------------------------- # ● 绘制值槽区域(包括 TP) #-------------------------------------------------------------------------- def draw_gauge_area_with_tp(rect, actor) draw_actor_hp(actor, rect.x + 0, rect.y, 72) if actor.mp == 0 and actor.tp == 0 #如果mp和tp都为0 draw_actor_v(actor, rect.x + 82, rect.y, 64) #描绘变量条 else #否则描绘mp和tp draw_actor_mp(actor, rect.x + 82, rect.y, 64) draw_actor_tp(actor, rect.x + 156, rect.y, 64) end end end
class Window_BattleStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 绘制值槽区域(包括 TP)
#--------------------------------------------------------------------------
def draw_gauge_area_with_tp(rect, actor)
draw_actor_hp(actor, rect.x + 0, rect.y, 72)
if actor.mp == 0 and actor.tp == 0 #如果mp和tp都为0
draw_actor_v(actor, rect.x + 82, rect.y, 64) #描绘变量条
else #否则描绘mp和tp
draw_actor_mp(actor, rect.x + 82, rect.y, 64)
draw_actor_tp(actor, rect.x + 156, rect.y, 64)
end
end
end
|