| 本帖最后由 魔法丶小肉包 于 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)  endend
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  endend
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 
 |