查看: 2644|回复: 8

[已经解决] 求啊,VA战斗场景怪物血量显示脚本或者其他方法

[复制链接]
梦石
0
星屑
50
在线时间
86 小时
注册时间
2009-12-2
回帖
113
发表于 2016-4-8 14:31:50 | 显示全部楼层 |阅读模式

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

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

×
求啊,VA战斗场景怪物血量显示脚本或者其他方法
用VX的血量脚步会出错,所以拜托大家帮我一下。
梦石
0
星屑
50
在线时间
86 小时
注册时间
2009-12-2
回帖
113
 楼主| 发表于 2016-4-10 13:27:41 | 显示全部楼层
  请问有人帮助我吗,谢谢大家
回复

使用道具 举报

梦石
0
星屑
189
在线时间
1452 小时
注册时间
2010-9-23
回帖
492
发表于 2016-4-10 14:12:14 | 显示全部楼层
效果图:




脚本:

[pre lang="ruby"]    #==============================================================================
    # 功能:战斗中显示敌人血和蓝于敌人脚下
    # 适用:RMVX Ace
    # 作者:殇殃 2012.3.10
    # 使用方法:复制整个脚本插入到Main之前
    # 注意:由于血条是显示在敌人脚下,所以敌群的位置不能太靠底部,不然会被挡住。
    #       可以自行更改坐标修改显示位置、血条的颜色等。
    #==============================================================================
    # ■ Window_Base
    #------------------------------------------------------------------------------
    #  游戏中全部窗口的超级类。
    #==============================================================================

    class Window_Base < Window
      #--------------------------------------------------------------------------
      # ● 描绘敌人HP
      #--------------------------------------------------------------------------
      def draw_enemy_hp(enemy, x, y, width = 80)
        draw_gauge(x, y, width, enemy.hp_rate, hp_gauge_color1, hp_gauge_color2)
        self.contents.font.color = system_color
        self.contents.draw_text(x, y, 30, line_height, Vocab::hp_a)
        self.contents.font.color = hp_color(enemy)
        self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.hp, 2)
        #一个数字占16像素
      end
      #--------------------------------------------------------------------------
      # ● 绘制敌人MP
      #--------------------------------------------------------------------------
      def draw_enemy_mp(enemy, x, y, width = 80)
        draw_gauge(x, y, width, enemy.mp_rate, mp_gauge_color1, mp_gauge_color2)
        self.contents.font.color = system_color
        self.contents.draw_text(x, y, 30, line_height, Vocab::mp_a)
        self.contents.font.color = mp_color(enemy)
        self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.mp, 2)
      end
    end
    #==============================================================================
    # ■ Sprite_Battler
    #------------------------------------------------------------------------------
    #  战斗显示用活动块。Game_Battler 类的实例监视、
    # 活动块的状态的监视、活动块状态自动变化。
    #==============================================================================

    class Sprite_Battler < Sprite_Base
      #--------------------------------------------------------------------------
      # ● 初始化对象
      #     viewport : 视区
      #     battler  : 战斗者 (Game_Battler)
      #--------------------------------------------------------------------------
      def initialize(viewport, battler = nil)
        super(viewport)
        @battler = battler
        @battler_visible = false
        @effect_type = nil      
        @effect_duration = 0   
        if @battler.is_a?(Game_Enemy)
          width = 24 + 80 #边距12*2+血条的长度(在draw_enemy_hp中定义)
          height = 24 + 24*2 #边距12*2+line_height*2
          x = @battler.screen_x - width/2 #screen_x是怪物图片水平方向上的中点位置
          y = @battler.screen_y - 12 #边距12,显示HP/MP的窗口无边框
          @enemy_hpmp_window = Window_Base.new(x, y, width, height)
          @enemy_hpmp_window.opacity = 0
          @enemy_hpmp_window.contents = Bitmap.new(width - 24, height - 24)#位图比窗口小24像素取消边框
          @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
          @old_hp = -1
          @enemy_hpmp_window.draw_enemy_mp(@battler, 0, 24)
          @old_mp = -1
        end
      end
      #--------------------------------------------------------------------------
      # ● 释放
      #--------------------------------------------------------------------------
      def dispose
        if self.bitmap != nil
          self.bitmap.dispose
          @enemy_hpmp_window.dispose
        end
        super
      end
      #--------------------------------------------------------------------------
      # ● 更新画面
      #--------------------------------------------------------------------------
      def update
        super
        if @battler == nil
          self.bitmap = nil
        else
          @use_sprite = @battler.use_sprite?
          if @use_sprite
            update_bitmap
            update_origin
            update_position
          end
          setup_new_effect
          setup_new_animation
          update_effect
          if @enemy_hpmp_window != nil and (@old_hp != @battler.hp or @old_mp != @battler.mp)
            if @battler.hp == 0
              @enemy_hpmp_window.hide
            else
              @enemy_hpmp_window.contents.clear
              @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
              @old_hp = @battler.hp
              @enemy_hpmp_window.draw_enemy_mp(@battler, 0, 24)
              @old_mp = @battler.mp
              @enemy_hpmp_window.show #怪物死后再被复活
            end #if battler.hp == 0
          end
        end #if @battler == nil
      end

    end[/pre]

点评

不知道行不行,先谢过!  发表于 2016-4-10 14:56
回复

使用道具 举报

梦石
0
星屑
50
在线时间
86 小时
注册时间
2009-12-2
回帖
113
 楼主| 发表于 2016-4-11 10:07:55 | 显示全部楼层
黑崎一护 发表于 2016-4-10 14:12
效果图:

请问怎么只显示HP,不显示MP呢,另外数字也不要,只要红色的血条,如何修改,请指教。
回复

使用道具 举报

梦石
0
星屑
189
在线时间
1452 小时
注册时间
2010-9-23
回帖
492
发表于 2016-4-11 11:13:32 | 显示全部楼层
若得若失 发表于 2016-4-11 10:07
请问怎么只显示HP,不显示MP呢,另外数字也不要,只要红色的血条,如何修改,请指教。 ...

那就......换成这两个脚本

先贴这个,这个是前置脚本。。
[pre lang="ruby"]#==============================================================================
# F00 - 基础设定 - By芙蕾娅
#------------------------------------------------------------------------------
#  脚本合集的基础设置
#   若不想变更某些设定则设为 nil
#==============================================================================
module Freya
  module Font
    # 设置字体
    Name = ["黑体"]
    # 字体大小
    Size = 20
    # 字体是否加粗
    # 默认为false
    # true  : 是
    # false : 否
    Bold = false
    # 字体是否斜体
    # 默认为false
    # true  : 是
    # false : 否
    Italic = false
    # 字体是否有阴影
    # 默认为false
    # true  : 是
    # false : 否
    Shadow = true
    # 字体是否描边
    # 默认为true
    # true  : 是
    # false : 否
    Outline = true
  end
  module Graphics
    # 画面分辨率宽度
    # 默认为544,最大为640
    Width = 544
    # 画面分辨率高度
    # 默认为416,最大为480
    Height = 416
  end
end
#------------------------------------------------------------------------------
# 初始化字体设置
#------------------------------------------------------------------------------
Font.default_name = Freya::Font::Name unless Freya::Font::Name.nil?
Font.default_size = Freya::Font::Size unless Freya::Font::Size.nil?
Font.default_bold = Freya::Font::Bold unless Freya::Font::Bold.nil?
Font.default_italic = Freya::Font::Italic unless Freya::Font::Italic.nil?
Font.default_shadow = Freya::Font::Shadow unless Freya::Font::Shadow.nil?
Font.default_outline = Freya::Font::Outline unless Freya::Font::Outline.nil?
#------------------------------------------------------------------------------
#初始化画面设置
#------------------------------------------------------------------------------
Graphics.resize_screen(Freya::Graphics::Width, Freya::Graphics::Height)
[/pre]


注意:下面的这个脚本才是显示血条的脚本,请一定放在上面这个脚本的下面
[pre lang="ruby"]#==============================================================================
# F08 - 战斗敌人显示血条 - By芙蕾娅
#------------------------------------------------------------------------------
#  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
#==============================================================================
module Freya
  # 隐藏HP的文本
  HideGaugeText = "Hide_Gauge"
  # 血条颜色
  EnemyHPGaugeColor1 = Color.new(64,128,96)
  EnemyHPGaugeColor2 = Color.new(96,192,160)
end
#==============================================================================
# ■ Sprite_Battler_HP
#------------------------------------------------------------------------------
#  显示战斗者的生命在战斗者的精灵下面。
#==============================================================================
class Sprite_Battler_HP < Sprite
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize(viewport,battler)
    super(viewport)
    @battler = battler
    @last_hp = 0
    create_bitmap
    update
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose
    super
  end
  #--------------------------------------------------------------------------
  # ● 生成位图
  #--------------------------------------------------------------------------
  def create_bitmap
    @last_hp = @battler.hp
    bw = 96
    bh = 6
    self.bitmap = Bitmap.new(bw, bh)
    self.bitmap.fill_rect(0, 0, bw, bh, Color.new(32,32,64))
    if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
      hp = ((bw) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(0, 0, hp, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
    elsif Freya::Gauge_Type == 1
      hp = ((width - 2) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(1, 1, hp, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
    elsif Freya::Gauge_Type == 2
      hp = ((width) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(0, 0, hp / 2, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
      self.bitmap.gradient_fill_rect(hp / 2, 0, hp / 2, bh, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
    elsif Freya::Gauge_Type == 3
      hp = ((width - 2) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(1, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
      self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
    end
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
    unless self.bitmap.nil?
      self.x = @battler.screen_x - self.width / 2
      self.y = @battler.screen_y
      create_bitmap if @last_hp != @battler.hp
      hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
      if @battler.hp == 0 or hide
        self.opacity = 0
      elsif @battler.hp > 0 && !hide
        self.opacity = 255
      end
    end
  end
end

#==============================================================================
# ■ Sprite_Battler
#------------------------------------------------------------------------------
#  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
#==============================================================================
class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # ☆ 初始化对象
  #--------------------------------------------------------------------------
  alias initialize_freya_enemy_hp initialize
  def initialize(viewport, battler = nil)
    initialize_freya_enemy_hp(viewport, battler)
    if @battler.is_a?(Game_Enemy)
      @hp_gauge = Sprite_Battler_HP.new(viewport, battler)
    end
  end
  #--------------------------------------------------------------------------
  # ☆ 释放
  #--------------------------------------------------------------------------
  alias dispose_freya_enemy_hp dispose
  def dispose
    dispose_freya_enemy_hp
    unless @hp_gauge.nil?
      @hp_gauge.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ☆ 更新画面
  #--------------------------------------------------------------------------
  alias update_freya_enemy_hp update
  def update
    update_freya_enemy_hp
    @hp_gauge.update unless @hp_gauge.nil?
  end
end[/pre]

点评

试了一下,显示第二个脚本45行出错,不知道什么问题。  发表于 2016-4-12 10:47
回复

使用道具 举报

梦石
0
星屑
50
在线时间
86 小时
注册时间
2009-12-2
回帖
113
 楼主| 发表于 2016-4-11 13:47:19 | 显示全部楼层
黑崎一护 发表于 2016-4-11 11:13
那就......换成这两个脚本

先贴这个,这个是前置脚本。。

感谢制作游戏的道路上能有你{:2_260:}3Q3Q
回复

使用道具 举报

梦石
0
星屑
189
在线时间
1452 小时
注册时间
2010-9-23
回帖
492
发表于 2016-4-12 11:00:35 | 显示全部楼层
那就,手动改一下3楼的脚本
  1. class Window_Base < Window
  2.   #--------------------------------------------------------------------------
  3.   # ● 描绘敌人HP
  4.   #--------------------------------------------------------------------------
  5.   def draw_enemy_hp(enemy, x, y, width = 80)
  6.     draw_gauge(x, y, width, enemy.hp_rate, hp_gauge_color1, hp_gauge_color2)
  7.   end
  8. end
  9. #==============================================================================
  10. # ■ Sprite_Battler
  11. #------------------------------------------------------------------------------
  12. #  战斗显示用活动块。Game_Battler 类的实例监视、
  13. # 活动块的状态的监视、活动块状态自动变化。
  14. #==============================================================================

  15. class Sprite_Battler < Sprite_Base
  16.   #--------------------------------------------------------------------------
  17.   # ● 初始化对象
  18.   #     viewport : 视区
  19.   #     battler  : 战斗者 (Game_Battler)
  20.   #--------------------------------------------------------------------------
  21.   def initialize(viewport, battler = nil)
  22.     super(viewport)
  23.     @battler = battler
  24.     @battler_visible = false
  25.     @effect_type = nil      
  26.     @effect_duration = 0   
  27.     if @battler.is_a?(Game_Enemy)
  28.       width = 24 + 80 #边距12*2+血条的长度(在draw_enemy_hp中定义)
  29.       height = 24 + 24*2 #边距12*2+line_height*2
  30.       x = @battler.screen_x - width/2 #screen_x是怪物图片水平方向上的中点位置
  31.       y = @battler.screen_y - 12 #边距12,显示HP/MP的窗口无边框
  32.       @enemy_hpmp_window = Window_Base.new(x, y, width, height)
  33.       @enemy_hpmp_window.opacity = 0
  34.       @enemy_hpmp_window.contents = Bitmap.new(width - 24, height - 24)#位图比窗口小24像素取消边框
  35.       @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  36.       @old_hp = -1
  37.     end
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 释放
  41.   #--------------------------------------------------------------------------
  42.   def dispose
  43.     if self.bitmap != nil
  44.       self.bitmap.dispose
  45.       @enemy_hpmp_window.dispose
  46.     end
  47.     super
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 更新画面
  51.   #--------------------------------------------------------------------------
  52.   def update
  53.     super
  54.     if @battler == nil
  55.       self.bitmap = nil
  56.     else
  57.       @use_sprite = @battler.use_sprite?
  58.       if @use_sprite
  59.         update_bitmap
  60.         update_origin
  61.         update_position
  62.       end
  63.       setup_new_effect
  64.       setup_new_animation
  65.       update_effect
  66.       if @enemy_hpmp_window != nil and (@old_hp != @battler.hp or @old_mp != @battler.mp)
  67.         if @battler.hp == 0
  68.           @enemy_hpmp_window.hide
  69.         else
  70.           @enemy_hpmp_window.contents.clear
  71.           @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  72.           @old_hp = @battler.hp
  73.           @enemy_hpmp_window.show #怪物死后再被复活
  74.         end #if battler.hp == 0
  75.       end
  76.     end #if @battler == nil
  77.   end

  78. end
复制代码

点评

谢谢你的耐心,但这个脚本不行,啥子都没显示,就跟没添加脚本一样。  发表于 2016-4-14 11:48
兄台竟是如此乐于助人之人,加个好友可好?  发表于 2016-4-12 14:34
多谢,感谢你的耐心帮助  发表于 2016-4-12 11:51
回复

使用道具 举报

梦石
0
星屑
189
在线时间
1452 小时
注册时间
2010-9-23
回帖
492
发表于 2016-4-14 13:17:59 | 显示全部楼层
本帖最后由 黑崎一护 于 2016-4-14 13:20 编辑

那就......用这个MOG的脚本吧,MOG被墙了。

范例素材:(放在\Graphics\System文件里)
Battle_Enemy_HP_Layout.png Battle_Enemy_HP_Meter.png
不清楚MOG使用规约,最好自己修改一下。



这个脚本的血条实在敌人受到攻击时才显示的。

效果图:
无标题3.png


下面是脚本:
[pre lang="ruby"]#==============================================================================
# +++ MOG - Enemy HP Meter  (v1.1) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Apresenta um medidor animado com o HP do inimigo.
#==============================================================================
# Para ocultar o HP do inimigo use a TAG abaixo na caixa de notas.
#
# <Hide HP>
#
#==============================================================================
# Serão necessários as imagens.
#
# Battle_Enemy_HP_Layout.png
# Battle_Enemy_HP_Meter.png
#
#
#==============================================================================

#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 1.1 - Corrigido o erro de crash randômico. (relativo a dispose de imagem.)
#==============================================================================

module MOG_ENEMY_HP
   #Posição geral do medidor em relação ao battler.
   POSITION_CORRECTION = [0,0]
   #Posição do medidor de HP.
   HP_METER_POSITION = [2,4]
   #Prioridade do medidor na tela.
   PRIORITY_Z = 101   
end

#==============================================================================
# ■ Game Enemy
#==============================================================================
class Game_Enemy < Game_Battler

  attr_accessor :hp_meter_active               
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  alias mog_enemy_hp_initialize initialize
  def initialize(index, enemy_id)
      mog_enemy_hp_initialize(index, enemy_id)
      hide = enemy.note =~ /<Hide HP>/i ? true : false
      @hp_meter_active = [false,hide]
  end  

end

#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
  
  #--------------------------------------------------------------------------
  # ● Item Apply
  #--------------------------------------------------------------------------  
   alias mog_enemy_hp_item_apply item_apply
   def item_apply(user, item)
       mog_enemy_hp_item_apply(user, item)
       if self.is_a?(Game_Enemy)
          self.hp_meter_active[0] = true if @result.hp_damage != 0
       end
   end

  #--------------------------------------------------------------------------
  # ● Regenerate HP
  #--------------------------------------------------------------------------
  alias mog_enemy_hp_regenerate_hp regenerate_hp
  def regenerate_hp
      mog_enemy_hp_regenerate_hp
      if self.is_a?(Game_Enemy)
         self.hp_meter_active[0] = true if @result.hp_damage != 0      
      end         
  end
   
end
  

#==============================================================================
# ■ Battle_Hud
#==============================================================================
class Enemy_HP
  include MOG_ENEMY_HP
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------   
  def initialize(viewport = nil,enemy)
      dispose
      @enemy = enemy
      @fade_time = -1
      create_layout   
      create_hp_meter      
      b_pos = [enemy.screen_x - (@layout.width / 2) + POSITION_CORRECTION[0], enemy.screen_y + POSITION_CORRECTION[1] - (@layout.height / 2)]
      @layout.opacity = 0
      @org_pos1 = [b_pos[0],b_pos[1]]
      @layout.x = @org_pos1[0]
      @layout.y = @org_pos1[1]
      @layout.visible = false
      @hp_meter.opacity = 0
      @hp_meter.visible = false
      @org_pos2 = [b_pos[0] + HP_METER_POSITION[0], b_pos[1] + HP_METER_POSITION[1]]
      @hp_meter.x = @org_pos2[0]
      @hp_meter.y = @org_pos2[1]
      @hp_meter.viewport = viewport
      @hp_meter.z = PRIORITY_Z
      @layout.viewport = viewport
      @layout.z = PRIORITY_Z
      @enemy.hp_meter_active[0] = false
      @hide = @enemy.hp_meter_active[1]
  end
  
  #--------------------------------------------------------------------------
  # ● Create HP Meter
  #--------------------------------------------------------------------------        
  def create_layout
      @layout = Sprite.new
      @layout.bitmap = Cache.system("Battle_Enemy_HP_Layout")
  end
   
  #--------------------------------------------------------------------------
  # ● Create HP Meter
  #--------------------------------------------------------------------------      
  def create_hp_meter
      @meter_image = Cache.system("Battle_Enemy_HP_Meter")
      @meter_cw = @meter_image.width
      @meter_ch = @meter_image.height / 2      
      @hp_meter = Sprite.new
      @hp_meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
      @hp_width_old = @meter_cw * @enemy.hp / @enemy.mhp
    end  
  
  #--------------------------------------------------------------------------
  # ● Hp Flow Update
  #--------------------------------------------------------------------------
  def update_hp_flow
      return if !@layout.visible     
      hp_width = @meter_cw * @enemy.hp / @enemy.mhp
      @hp_meter.bitmap.clear      
      execute_damage_flow(hp_width)
      hp_src_rect = Rect.new(0, 0,hp_width, @meter_ch)
      @hp_meter.bitmap.blt(0,0, @meter_image, hp_src_rect)
  end
   
  #--------------------------------------------------------------------------
  # ● Execute Damage Flow
  #--------------------------------------------------------------------------
  def execute_damage_flow(hp_width)
      n = (@hp_width_old - hp_width).abs * 3 / 100
      damage_flow = [[n, 2].min,0.5].max
      @hp_width_old -= damage_flow
      if @hp_width_old <= hp_width
         @hp_width_old = hp_width
      end   
      src_rect_old = Rect.new(0,@meter_ch,@hp_width_old, @meter_ch)
      @hp_meter.bitmap.blt(0,0, @meter_image, src_rect_old)      
  end   
  
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------      
  def dispose
      return if @meter_image == nil
      @layout.bitmap.dispose
      @layout.dispose
      @hp_meter.bitmap.dispose
      @hp_meter.dispose
      @meter_image.dispose
      @meter_image = nil
  end
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------      
  def update
      return if @meter_image == nil
      return if @hide
      update_fade   
      update_visible
      update_hp_flow
      refresh if @enemy.hp_meter_active[0]
  end  
  
  #--------------------------------------------------------------------------
  # ● Update Fade
  #--------------------------------------------------------------------------        
  def update_fade
      @fade_time -= 1 if @fade_time > 0
      return if @fade_time != 0
      @layout.opacity -= 10
      @hp_meter.opacity -= 10
      @layout.x += 1
      @hp_meter.x += 1
      @fade_time = -1 if @layout.opacity == 0
  end  
  
  #--------------------------------------------------------------------------
  # ● Update Visible
  #--------------------------------------------------------------------------        
  def update_visible
      return if !@layout.visible
      vis = can_visible?
      @layout.visible = vis
      @hp_meter.visible = vis
  end
  
  #--------------------------------------------------------------------------
  # ● Refresh
  #--------------------------------------------------------------------------         
  def refresh     
      @enemy.hp_meter_active[0] = false
      @layout.opacity = 255
      @hp_meter.opacity = 255   
      @layout.visible = true
      @hp_meter.visible = true
      @fade_time = 60
      @layout.x = @org_pos1[0]
      @layout.y = @org_pos1[1]
      @hp_meter.x = @org_pos2[0]
      @hp_meter.y = @org_pos2[1]      
      hp_width = @meter_cw * @enemy.hp / @enemy.mhp
      @hp_width_old = hp_width if @hp_width_old < hp_width
      update_hp_flow
  end
  
  #--------------------------------------------------------------------------
  # ● Can Visible?
  #--------------------------------------------------------------------------         
  def can_visible?
      return false if @layout.opacity == 0      
      return true
  end
   
end

#==============================================================================
# ■ Spriteset Battle
#==============================================================================
class Spriteset_Battle
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------  
  alias mog_enemy_hp_initialize initialize
  def initialize
      mog_enemy_hp_initialize
      create_enemy_hp      
  end
  
  #--------------------------------------------------------------------------
  # ● Create Battle Hud
  #--------------------------------------------------------------------------   
  def create_enemy_hp
      dispose_enemy_hp
      @enemy_hp = []      
      for i in $game_troop.members
          @enemy_hp.push(Enemy_HP.new(@viewport1,i))
      end
  end
  
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------      
  alias mog_enemy_hp_dispose dispose
  def dispose
      mog_enemy_hp_dispose
      dispose_enemy_hp
  end  
  
  #--------------------------------------------------------------------------
  # ● Dispose Enemy HP
  #--------------------------------------------------------------------------        
  def dispose_enemy_hp
      return if @enemy_hp == nil
      @enemy_hp.each {|sprite| sprite.dispose }
      @enemy_hp.clear
      @enemy_hp = nil
  end
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------        
  alias mog_enemy_hp_update update
  def update
      mog_enemy_hp_update
      update_enemy_hp
  end
  
  #--------------------------------------------------------------------------
  # ● Update Enemy HP
  #--------------------------------------------------------------------------         
  def update_enemy_hp
      return if @enemy_hp == nil
      @enemy_hp.each {|sprite| sprite.update }
  end  
end

$mog_rgss3_enemy_hp_meter = true[/pre]  

点评

哎呀,都不好意思回复你了,真的!谢谢  发表于 2016-4-15 13:36

评分

参与人数 1梦石 +1 收起 理由
丿梁丶小柒 + 1 认可答&amp;lt;span id=&amp;quot;transmark&amp;quot;&amp;gt;

查看全部评分

回复

使用道具 举报

梦石
0
星屑
1572
在线时间
903 小时
注册时间
2011-3-4
回帖
801
发表于 2016-4-15 10:24:19 | 显示全部楼层
全民制作人们,大家好,我是练习时长两年半的黄油制作人绿坝,喜欢唱、跳、rap、篮球,music!欢迎加群:107335249
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部