赞 | 3 |
VIP | 0 |
好人卡 | 0 |
积分 | 6 |
经验 | 9433 |
最后登录 | 2025-2-12 |
在线时间 | 284 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 612
- 在线时间
- 284 小时
- 注册时间
- 2011-8-31
- 帖子
- 101
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
我写了个脚本,就是把角色hp,mp放在地图界面上了。
但是郁闷的是,当一些剧情场景的时候,角色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 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
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
|
|