查看: 3126|回复: 2

[已经解决] 如何暂停脚本执行?

[复制链接]
梦石
0
星屑
963
在线时间
319 小时
注册时间
2011-8-31
回帖
86

RM创作大赛01参赛者

发表于 2014-2-20 21:06:26 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我写了个脚本,就是把角色hp,mp放在地图界面上了。

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

以下是源码:
[pre lang="ruby" line="1"]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
[/pre]

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-2-20 21:36:24 | 显示全部楼层
窗口那里的update方法里加一句,如果XX开关打开且透明度不为0时透明度为0

评分

参与人数 1星屑 +132 收起 理由
熊喵酱 + 132 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
963
在线时间
319 小时
注册时间
2011-8-31
回帖
86

RM创作大赛01参赛者

 楼主| 发表于 2014-2-21 10:56:46 | 显示全部楼层
喵呜喵5 发表于 2014-2-20 21:36
窗口那里的update方法里加一句,如果XX开关打开且透明度不为0时透明度为0

谢谢!茅塞顿开~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部