设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

图书馆的这血条槽脚本该如何改为竖排显示血条槽?

查看数: 1941 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-12-30 22:39

正文摘要:

打算把图书馆的这个脚本加入到自己的工程里。 https://rpg.blue/thread-228005-1-1.html 但发现了跟原本已经有的血条槽被重定义了。 脚本盲尝试改了下发现自己无法入手... 想请前辈们帮忙修改一下。 如原来的血条槽 ...

回复

余音·魔眼 发表于 2017-12-31 13:29:17
改好了,这样如何?


  1. # -----------------------------------------------------------------------------
  2. # ◆战斗全动态HP,MP,TP(Battle_H.M.T) By.Clov
  3. # -----------------------------------------------------------------------------
  4. # Ver:1.0.0 Date:2012.04.08
  5. # -1.0.0:基本版
  6. # Ver:1.0.1 Date:2012.04.09
  7. # -1.0.1:修正逃跑返回不显示问题
  8. # -----------------------------------------------------------------------------
  9. #==============================================================================
  10. # ■ Window_BattleStatus
  11. #------------------------------------------------------------------------------
  12. #  战斗画面中,显示[队伍成员状态的窗口。
  13. #==============================================================================

  14. class Window_BattleStatus < Window_Selectable
  15.   #--------------------------------------------------------------------------
  16.   # ● 初始化
  17.   #--------------------------------------------------------------------------
  18.   def initialize
  19.     super(0, 0, window_width, window_height)
  20.     new_hmt unless self.is_a?(Window_BattleActor)
  21.     refresh
  22.     self.openness = 0
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ◆ 生成新的动态插槽
  26.   #--------------------------------------------------------------------------
  27.   def new_hmt
  28.     hp1 = Color.new(225, 128, 64, 255)
  29.     hp2 = Color.new(225, 192, 64, 255)
  30.     mp1 = Color.new(64, 128, 192, 255)
  31.     mp2 = Color.new(64, 192, 240, 255)
  32.     tp1 = Color.new(36, 5, 79, 255)
  33.     tp2 = Color.new(231, 90, 145, 255)
  34.     @actor_hp = [];@actor_mp = [];@actor_tp = []
  35.     if $data_system.opt_display_tp
  36.       x = 245;y = 340;w = 88;w2 = 6;h = 10;wx = 76;hx = 24;i = 0
  37.     else
  38.       x = 245;y = 340;w = 99;w2 = 54;h = 10;wx = 90;hx = 24;i = 0
  39.     end
  40.     $game_party.battle_members.each {|actor|
  41.       if $data_system.opt_display_tp
  42.         @actor_tp[i] = DynamicSlot.new(x+i*193,y+4+line_height*2,150,w,h,tp1,tp2,:UD,false)
  43.         @actor_tp[i].slot_dynamic_speed(0.2)
  44.         @actor_tp[i].value_max(100)
  45.         @actor_tp[i].auto_normal_draw(0)
  46.         @actor_tp[i].value_set(2,23)
  47.         @actor_tp[i].value_xy(x-86+i*193,y-8+line_height*2)
  48.       end
  49.       @actor_mp[i] = DynamicSlot.new(x+i*193,y+4+line_height*1,150,w,h,mp1,mp2,:LR,false)
  50.       @actor_mp[i].value_max(actor.mmp)
  51.       @actor_mp[i].auto_normal_draw(actor.mp)
  52.       @actor_mp[i].value_set(2,23)
  53.       @actor_mp[i].value_xy(x-86+i*193,y-8+line_height*1)
  54.       free = i == item_max - 1 ? true : false
  55.       @actor_hp[i] = DynamicSlot.new(x+i*193,y+4+line_height*0,150,w,h,hp1,hp2,:LR,free)
  56.       @actor_hp[i].value_max(actor.mhp)
  57.       @actor_hp[i].auto_normal_draw(actor.hp)
  58.       @actor_hp[i].value_set(2,23)
  59.       @actor_hp[i].value_xy(x-86+i*193,y-8+line_height*0)
  60.     i+=1}
  61.     for i in 0...item_max
  62.       @actor_hp[item_max - 1].free_text(x+i*193,y-8+line_height*0,Vocab::hp_a,0,25,nil,nil,system_color)
  63.       @actor_hp[item_max - 1].free_text(x+i*193,y-8+line_height*1,Vocab::mp_a,0,25,nil,nil,system_color)
  64.       @actor_hp[item_max - 1].free_text(x+i*193,y-8+line_height*2,Vocab::tp_a,0,25,nil,nil,system_color)
  65.     end
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ◆ 取得目前动态插槽
  69.   #--------------------------------------------------------------------------
  70.   def now_hmt
  71.     @actor_hp + @actor_mp  + @actor_tp
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ◆ 刷新、释放动态插槽
  75.   #--------------------------------------------------------------------------
  76.   def update
  77.     super
  78.     unless self.is_a?(Window_BattleActor)
  79.       now_hmt.each{|hmt|hmt.update}
  80.     end
  81.   end
  82.   def dispose
  83.     super
  84.     unless self.is_a?(Window_BattleActor)
  85.       now_hmt.each{|hmt|hmt.dispose}
  86.    end
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 描画项目
  90.   #--------------------------------------------------------------------------
  91.   def draw_item(index)
  92.     actor = $game_party.battle_members[index]
  93.     draw_basic_area(basic_area_rect(index), actor)
  94.     unless self.is_a?(Window_BattleActor)
  95.       @actor_hp[index].auto_gradually_draw(actor.hp)
  96.       @actor_mp[index].auto_gradually_draw(actor.mp)
  97.       @actor_tp[index].auto_gradually_draw(actor.tp.to_i) if $data_system.opt_display_tp
  98.     end
  99.   end
  100. end

  101. #==============================================================================
  102. # ■ Scene_Battle
  103. #------------------------------------------------------------------------------
  104. #  战斗画面
  105. #==============================================================================

  106. class Scene_Battle < Scene_Base
  107.   #--------------------------------------------------------------------------
  108.   # ● 移动信息显示的显示端口
  109.   #--------------------------------------------------------------------------
  110.   alias move_info_viewportY move_info_viewport
  111.   def move_info_viewport(ox)
  112.     move_info_viewportY(ox)
  113.     current_ox = @info_viewport.ox
  114.     @status_window.now_hmt.each {|htm|
  115.     htm.VIEWPORT.ox = [ox, current_ox + 16].min if current_ox < ox
  116.     htm.VIEWPORT.ox = [ox, current_ox - 16].max if current_ox > ox }
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 信息窗口打开时的更新
  120.   #    在状态窗口关闭完成前,信息窗口的打开度设置为 0 。
  121.   #--------------------------------------------------------------------------
  122.   alias update_message_openY update_message_open
  123.   def update_message_open
  124.     update_message_openY
  125.     if !$game_message.busy? && @status_window.close? && !@hmt_vis
  126.       @hmt_vis = true
  127.       @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = true}
  128.     end
  129.     if $game_message.busy? && !@status_window.close? && @hmt_vis
  130.       @hmt_vis = false
  131.       @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = false}
  132.     end
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 生成状态窗口
  136.   #--------------------------------------------------------------------------
  137.   alias create_status_windowY create_status_window
  138.   def create_status_window
  139.     create_status_windowY
  140.     @hmt_vis = false
  141.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = false}
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 开始选择队友
  145.   #--------------------------------------------------------------------------
  146.   alias select_actor_selectionY select_actor_selection
  147.   def select_actor_selection
  148.     select_actor_selectionY
  149.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = false}
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 角色[决定]
  153.   #--------------------------------------------------------------------------
  154.   alias on_actor_okY on_actor_ok
  155.   def on_actor_ok
  156.     on_actor_okY
  157.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = true}
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 角色[取消]
  161.   #--------------------------------------------------------------------------
  162.   alias on_actor_cancelY on_actor_cancel
  163.   def on_actor_cancel
  164.     on_actor_cancelY
  165.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = true}
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● 开始选择敌人
  169.   #--------------------------------------------------------------------------
  170.   alias select_enemy_selectionY select_enemy_selection
  171.   def select_enemy_selection
  172.     select_enemy_selectionY
  173.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = false}
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● 敌方[决定]
  177.   #--------------------------------------------------------------------------
  178.   alias on_enemy_okY on_enemy_ok
  179.   def on_enemy_ok
  180.     on_enemy_okY
  181.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = true}
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 敌方[取消]
  185.   #--------------------------------------------------------------------------
  186.   alias on_enemy_cancelY on_enemy_cancel
  187.   def on_enemy_cancel
  188.     on_enemy_cancelY
  189.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = true}
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● 战斗开始
  193.   #--------------------------------------------------------------------------
  194.   alias battle_startY battle_start
  195.   def battle_start
  196.     battle_startY
  197.     @status_window.now_hmt.each {|hmt|hmt.VIEWPORT.visible = true}
  198.   end
  199. end
复制代码



点评

十分感谢前辈能抽空帮忙修改的说,这样就可以了,坐标等细节问题会自己慢慢调整的。  发表于 2017-12-31 13:33

评分

参与人数 1+1 收起 理由
文雅夕露 + 1 认可答案

查看全部评分

陆言儿 发表于 2017-12-31 11:13:34
反应就是英文名错了
houyuxiaoyang 发表于 2017-12-30 23:32:11
HP在底下,血条是竖着的那种吗?我觉得这种细节上的东西可以放到最后面在弄呀。

点评

不是,就和例图上的血条槽排列就行了。我是先整合好脚本再制作游戏,以免因脚本问题而放弃。  发表于 2017-12-31 08:32

评分

参与人数 1+1 收起 理由
chd114 + 1 我很赞同

查看全部评分

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 13:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表