Project1

标题: 如何暂停脚本执行? [打印本页]

作者: pandeng421    时间: 2014-2-20 21:06
标题: 如何暂停脚本执行?
我写了个脚本,就是把角色hp,mp放在地图界面上了。

但是郁闷的是,当一些剧情场景的时候,角色hp之类的依然始终在界面上,而我希望过剧情的时候这个角色hp界面隐藏,剧情过完后再调出来,请问要如何做?

以下是源码:
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   #-----------------------------
  3.   # * 重命名方法
  4.   #-----------------------------
  5.   alias ms_refresh refresh
  6.   alias ms_tp tp=
  7.   alias ms_add_state add_state
  8.   #------------------------------
  9.   # * 刷新
  10.   #------------------------------
  11.   def refresh
  12.     ms_refresh
  13.     $refresh = true
  14.   end
  15.   #------------------------------
  16.   # * 更改 TP
  17.   #------------------------------
  18.   def tp=(tp)
  19.     ms_tp(tp)
  20.     $refresh = true
  21.   end
  22.   #------------------------------
  23.   # * 附加状态
  24.   #------------------------------
  25.   def add_state(state_id)
  26.     ms_add_state(state_id)
  27.     $refresh = true
  28.   end
  29. end
  30.  
  31. ####################################
  32. class Game_Party
  33.   #------------------------------
  34.   # * 重命名方法
  35.   #------------------------------
  36.   alias ms_swap_order swap_order
  37.   #------------------------------
  38.   # * 交换顺序
  39.   #------------------------------
  40.   def swap_order(index1, index2)
  41.     ms_swap_order(index1, index2)
  42.     $refresh = true
  43.   end
  44. end
  45.  
  46.  
  47. class ActorInfo < Window_Base
  48.  
  49.   def initialize
  50.     super(0,0,1024,100)
  51.     refresh
  52.   end
  53.  
  54.   def refresh
  55.     self.contents.clear
  56.     self.opacity=0
  57.     self.contents.font.size=20
  58.  
  59.     draw_actor_name($game_party.members[0],0,0)
  60.  
  61.     self.contents.font.size=16
  62.     draw_actor_nickname($game_party.members[0],46,0)
  63.  
  64.     draw_actor_hp($game_party.members[0],210,0)
  65.  
  66.     draw_actor_mp($game_party.members[0],340,0)
  67.  
  68.     draw_actor_level($game_party.members[0],146,0)
  69.  
  70.     draw_actor_exp($game_party.members[0],470,0)
  71.  
  72.   end
  73.  
  74.   def draw_actor_exp(actor, x, y, width=550)
  75.     rate = actor.exp.to_f / actor.next_level_exp.to_f
  76.     draw_gauge(x, y, width, rate, Color.new(0, 255, 0), Color.new(100, 255, 100))
  77.     self.contents.font.color = text_color(16)
  78.     self.contents.font.size = 18
  79.     self.contents.draw_text(x, y, 56, 24, "EXP")
  80.     self.contents.font.color = Color.new(255, 255, 255)
  81.     en = "#{actor.exp}/#{actor.next_level_exp}"
  82.     self.contents.draw_text(x, y, width, 24, en, 2)
  83.   end
  84. end
  85.  
  86. class Scene_Map < Scene_Base
  87.  
  88.   alias ai_sta start
  89.  
  90.   def start
  91.     ai_sta
  92.   @ai_window = ActorInfo.new
  93. end
  94. end

作者: 喵呜喵5    时间: 2014-2-20 21:36
窗口那里的update方法里加一句,如果XX开关打开且透明度不为0时透明度为0
作者: pandeng421    时间: 2014-2-21 10:56
喵呜喵5 发表于 2014-2-20 21:36
窗口那里的update方法里加一句,如果XX开关打开且透明度不为0时透明度为0

谢谢!茅塞顿开~~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1