| 赞 | 4 |
| VIP | |
| 好人卡 | |
| 积分 | 10 |
| 经验 | |
| 最后登录 | 2025-10-15 |
| 在线时间 | 319 小时 |
- 梦石
- 0
- 星屑
- 963
- 在线时间
- 319 小时
- 注册时间
- 2011-8-31
- 回帖
- 86

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
我写了个脚本,就是把角色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] |
|