| 
 
| 赞 | 4 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 10 |  
| 经验 | 9433 |  
| 最后登录 | 2025-10-15 |  
| 在线时间 | 319 小时 |  
 Lv3.寻梦者 
	梦石0 星屑963 在线时间319 小时注册时间2011-8-31帖子105 
 | 
| 
我写了个脚本,就是把角色hp,mp放在地图界面上了。
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  
 但是郁闷的是,当一些剧情场景的时候,角色hp之类的依然始终在界面上,而我希望过剧情的时候这个角色hp界面隐藏,剧情过完后再调出来,请问要如何做?
 
 以下是源码:
 
 class Game_Actor < Game_Battler  #-----------------------------  # * 重命名方法  #-----------------------------  alias ms_refresh refresh  alias ms_tp tp=  alias ms_add_state add_state  #------------------------------  # * 刷新  #------------------------------  def refresh    ms_refresh    $refresh = true  end  #------------------------------  # * 更改 TP   #------------------------------  def tp=(tp)    ms_tp(tp)    $refresh = true  end  #------------------------------  # * 附加状态  #------------------------------  def add_state(state_id)    ms_add_state(state_id)    $refresh = true  endend ####################################class Game_Party  #------------------------------  # * 重命名方法  #------------------------------  alias ms_swap_order swap_order  #------------------------------  # * 交换顺序  #------------------------------  def swap_order(index1, index2)    ms_swap_order(index1, index2)    $refresh = true  endend  class ActorInfo < Window_Base   def initialize    super(0,0,1024,100)    refresh  end   def refresh    self.contents.clear    self.opacity=0    self.contents.font.size=20     draw_actor_name($game_party.members[0],0,0)     self.contents.font.size=16    draw_actor_nickname($game_party.members[0],46,0)     draw_actor_hp($game_party.members[0],210,0)     draw_actor_mp($game_party.members[0],340,0)     draw_actor_level($game_party.members[0],146,0)     draw_actor_exp($game_party.members[0],470,0)   end   def draw_actor_exp(actor, x, y, width=550)    rate = actor.exp.to_f / actor.next_level_exp.to_f    draw_gauge(x, y, width, rate, Color.new(0, 255, 0), Color.new(100, 255, 100))    self.contents.font.color = text_color(16)    self.contents.font.size = 18    self.contents.draw_text(x, y, 56, 24, "EXP")    self.contents.font.color = Color.new(255, 255, 255)    en = "#{actor.exp}/#{actor.next_level_exp}"    self.contents.draw_text(x, y, width, 24, en, 2)  endend class Scene_Map < Scene_Base   alias ai_sta start   def start    ai_sta  @ai_window = ActorInfo.newendend
class Game_Actor < Game_Battler 
  #----------------------------- 
  # * 重命名方法 
  #----------------------------- 
  alias ms_refresh refresh 
  alias ms_tp tp= 
  alias ms_add_state add_state 
  #------------------------------ 
  # * 刷新 
  #------------------------------ 
  def refresh 
    ms_refresh 
    $refresh = true 
  end 
  #------------------------------ 
  # * 更改 TP  
  #------------------------------ 
  def tp=(tp) 
    ms_tp(tp) 
    $refresh = true 
  end 
  #------------------------------ 
  # * 附加状态 
  #------------------------------ 
  def add_state(state_id) 
    ms_add_state(state_id) 
    $refresh = true 
  end 
end 
  
#################################### 
class Game_Party 
  #------------------------------ 
  # * 重命名方法 
  #------------------------------ 
  alias ms_swap_order swap_order 
  #------------------------------ 
  # * 交换顺序 
  #------------------------------ 
  def swap_order(index1, index2) 
    ms_swap_order(index1, index2) 
    $refresh = true 
  end 
end 
  
  
class ActorInfo < Window_Base 
  
  def initialize 
    super(0,0,1024,100) 
    refresh 
  end 
  
  def refresh 
    self.contents.clear 
    self.opacity=0 
    self.contents.font.size=20 
  
    draw_actor_name($game_party.members[0],0,0) 
  
    self.contents.font.size=16 
    draw_actor_nickname($game_party.members[0],46,0) 
  
    draw_actor_hp($game_party.members[0],210,0) 
  
    draw_actor_mp($game_party.members[0],340,0) 
  
    draw_actor_level($game_party.members[0],146,0) 
  
    draw_actor_exp($game_party.members[0],470,0) 
  
  end 
  
  def draw_actor_exp(actor, x, y, width=550) 
    rate = actor.exp.to_f / actor.next_level_exp.to_f 
    draw_gauge(x, y, width, rate, Color.new(0, 255, 0), Color.new(100, 255, 100)) 
    self.contents.font.color = text_color(16) 
    self.contents.font.size = 18 
    self.contents.draw_text(x, y, 56, 24, "EXP") 
    self.contents.font.color = Color.new(255, 255, 255) 
    en = "#{actor.exp}/#{actor.next_level_exp}" 
    self.contents.draw_text(x, y, width, 24, en, 2) 
  end 
end 
  
class Scene_Map < Scene_Base 
  
  alias ai_sta start 
  
  def start 
    ai_sta 
  @ai_window = ActorInfo.new 
end 
end 
 | 
 |