Project1

标题: 用后知后觉横版1.7的血条定制脚本为什么刷新处出错了 [打印本页]

作者: 根五    时间: 2016-9-17 14:35
标题: 用后知后觉横版1.7的血条定制脚本为什么刷新处出错了
先上图
进入战斗就是这样!
这是出错的位置


最后附上脚本
RUBY 代码复制
  1. #==============================================================================#02.# ※ 后知后觉横版战斗模板 增强补丁03.#------------------------------------------------------------------------------#04.#  添加了战斗时角色脚下的血槽05.#  此脚本为定制脚本06.#                                                                      影月千秋07.#                                                                   2014.01.27 #08.#==============================================================================#09. 10. 11.#==============================================================================12.# ■ Hzhj::HorizontalBattleSystem13.#------------------------------------------------------------------------------14.#  只在这里进行编辑15.#==============================================================================16.module Hzhj::HorizontalBattleSystem17. 18.  MoGB_LOC_X = "index * 30 + 300"19.  MoGB_LOC_Y = "index * 45 + 20"20.  # 值槽位置计算公式21. 22.  # ·关于图片23.  # 放在Graphics\System下24.  # ·图片名25.  # Mo_Hzhj_HBS_GB_B.png  背景26.  # Mo_Hzhj_HBS_GB_F.png  槽图27. 28.  # 值槽左上角与图片左上角位置差29.  # 分别为横纵坐标之差30.  MoGB_ADD_X = 131.  MoGB_ADD_Y = 432.end33.#==============================================================================34.# ■ SpriteSet_MoGagueBar_ForHzhjHBS35.#==============================================================================36.class SpriteSet_Mo_GB_HzhjHBS37.  include Hzhj::HorizontalBattleSystem38.  #--------------------------------------------------------------------------39.  # ● 初始化40.  #--------------------------------------------------------------------------41.  def initialize(viewport, battler)42.    [url=home.php?mod=space&uid=133701]@battler[/url] = battler43.    return if @battler.nil? || [email protected]?44.    @back = Sprite_Base.new(viewport)45.    @back.bitmap = Cache.system("Mo_Hzhj_HBS_GB_B") rescue nil46.    @back.x = eval("battler.#{MoGB_LOC_X}")47.    @back.y = eval("battler.#{MoGB_LOC_Y}")48.    @back.z = battler.screen_z + 5 - battler.index49.    @fore = Sprite_Base.new(viewport)50.    @fore.bitmap = Cache.system("Mo_Hzhj_HBS_GB_F") rescue nil51.    @fore.x = @back.x + MoGB_ADD_X52.    @fore.y = @back.y + MoGB_ADD_Y53.    @fore.z = @back.z + 154.    @rate = @battler.hp_rate55.    refresh56.  end57.  #--------------------------------------------------------------------------58.  # ● 刷新59.  #--------------------------------------------------------------------------60.  def update61.    refresh if @rate != @battler.hp_rate62.  end63.  #--------------------------------------------------------------------------64.  # ● 描绘65.  #--------------------------------------------------------------------------66.  def refresh67.    @rate = @battler.hp_rate68.    @fore.zoom_x = @rate69.  end70.  #--------------------------------------------------------------------------71.  # ● 释放72.  #--------------------------------------------------------------------------73.  def dispose74.    @fore.bitmap.dispose if @back.bitmap75.    @fore.dispose76.    @back.bitmap.dispose if @back.bitmap77.    @back.dispose78.  end79.end80.#==============================================================================81.# ■ Spriteset_Battle82.#==============================================================================83.class Spriteset_Battle84.  #--------------------------------------------------------------------------85.  # ● 生成角色活动块86.  #--------------------------------------------------------------------------87.  alias :mo_gb_hzhjHBS_create_actors :create_actors88.  def create_actors89.    mo_gb_hzhjHBS_create_actors    90.    create_mo_hzhjHBS_gb91.  end92.  #--------------------------------------------------------------------------93.  # ● 释放角色活动块94.  #--------------------------------------------------------------------------95.  def create_mo_hzhjHBS_gb96.    @mo_actor_gague_bar = Array.new(4){|i|97.      SpriteSet_Mo_GB_HzhjHBS.new(@viewport1, $game_party.battle_members[i])98.    }99.  end100.  #--------------------------------------------------------------------------101.  # ● 释放角色活动块102.  #--------------------------------------------------------------------------103.  alias :mo_gb_hzhjHBS_dispose_actors :dispose_actors104.  def dispose_actors105.    mo_gb_hzhjHBS_dispose_actors    106.    dispose_mo_hzhjHBS_gb107.  end108.  #--------------------------------------------------------------------------109.  # ● 释放值槽活动块110.  #--------------------------------------------------------------------------111.  def dispose_mo_hzhjHBS_gb112.    @mo_actor_gague_bar.each{|gb| gb.dispose}113.  end114.  #--------------------------------------------------------------------------115.  # ● 更新值槽活动块116.  #--------------------------------------------------------------------------117.  def update_mo_hzhjHBS_gb118.    @mo_actor_gague_bar.each{|gb| gb.update}119.  end120.end121.#==============================================================================122.# ■ Window_BattleStatus123.#==============================================================================124.class Window_BattleStatus125.  #--------------------------------------------------------------------------126.  # ● 刷新127.  #--------------------------------------------------------------------------128.  alias :mo_gb_hzhjHBS_refresh :refresh129.  def refresh130.    mo_gb_hzhjHBS_refresh131.    SceneManager.scene.instance_variable_get("@spriteset").update_mo_hzhjHBS_gb132.  end133.end#==============================================================================#
  2. # ※ 后知后觉横版战斗模板 增强补丁
  3. #------------------------------------------------------------------------------#
  4. #  添加了战斗时角色脚下的血槽
  5. #  此脚本为定制脚本
  6. #                                                                      影月千秋
  7. #                                                                   2014.01.27 #
  8. #==============================================================================#
  9.  
  10.  
  11. #==============================================================================
  12. # ■ Hzhj::HorizontalBattleSystem
  13. #------------------------------------------------------------------------------
  14. #  只在这里进行编辑
  15. #==============================================================================
  16. module Hzhj::HorizontalBattleSystem
  17.  
  18.   MoGB_LOC_X = "index * 30 + 300"
  19.   MoGB_LOC_Y = "index * 45 + 20"
  20.   # 值槽位置计算公式
  21.  
  22.   # ·关于图片
  23.   # 放在Graphics\System下
  24.   # ·图片名
  25.   # Mo_Hzhj_HBS_GB_B.png  背景
  26.   # Mo_Hzhj_HBS_GB_F.png  槽图
  27.  
  28.   # 值槽左上角与图片左上角位置差
  29.   # 分别为横纵坐标之差
  30.   MoGB_ADD_X = 1
  31.   MoGB_ADD_Y = 4
  32. end
  33. #==============================================================================
  34. # ■ SpriteSet_MoGagueBar_ForHzhjHBS
  35. #==============================================================================
  36. class SpriteSet_Mo_GB_HzhjHBS
  37.   include Hzhj::HorizontalBattleSystem
  38.   #--------------------------------------------------------------------------
  39.   # ● 初始化
  40.   #--------------------------------------------------------------------------
  41.   def initialize(viewport, battler)
  42.     #[url=home.php?mod=space&uid=133701]@battler[/url] = battler
  43.     return if @battler.nil? || !@battler.actor?
  44.     @back = Sprite_Base.new(viewport)
  45.     @back.bitmap = Cache.system("Mo_Hzhj_HBS_GB_B") rescue nil
  46.     @back.x = eval("battler.#{MoGB_LOC_X}")
  47.     @back.y = eval("battler.#{MoGB_LOC_Y}")
  48.     @back.z = battler.screen_z + 5 - battler.index
  49.     @fore = Sprite_Base.new(viewport)
  50.     @fore.bitmap = Cache.system("Mo_Hzhj_HBS_GB_F") rescue nil
  51.     @fore.x = @back.x + MoGB_ADD_X
  52.     @fore.y = @back.y + MoGB_ADD_Y
  53.     @fore.z = @back.z + 1
  54.     @rate = @battler.hp_rate
  55.     refresh
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 刷新
  59.   #--------------------------------------------------------------------------
  60.   def update
  61.     refresh if @rate != @battler.hp_rate
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 描绘
  65.   #--------------------------------------------------------------------------
  66.   def refresh
  67.     @rate = @battler.hp_rate
  68.     @fore.zoom_x = @rate
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 释放
  72.   #--------------------------------------------------------------------------
  73.   def dispose
  74.     @fore.bitmap.dispose if @back.bitmap
  75.     @fore.dispose
  76.     @back.bitmap.dispose if @back.bitmap
  77.     @back.dispose
  78.   end
  79. end
  80. #==============================================================================
  81. # ■ Spriteset_Battle
  82. #==============================================================================
  83. class Spriteset_Battle
  84.   #--------------------------------------------------------------------------
  85.   # ● 生成角色活动块
  86.   #--------------------------------------------------------------------------
  87.   alias :mo_gb_hzhjHBS_create_actors :create_actors
  88.   def create_actors
  89.     mo_gb_hzhjHBS_create_actors   
  90.     create_mo_hzhjHBS_gb
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 释放角色活动块
  94.   #--------------------------------------------------------------------------
  95.   def create_mo_hzhjHBS_gb
  96.     @mo_actor_gague_bar = Array.new(4){|i|
  97.       SpriteSet_Mo_GB_HzhjHBS.new(@viewport1, $game_party.battle_members[i])
  98.     }
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 释放角色活动块
  102.   #--------------------------------------------------------------------------
  103.   alias :mo_gb_hzhjHBS_dispose_actors :dispose_actors
  104.   def dispose_actors
  105.     mo_gb_hzhjHBS_dispose_actors   
  106.     dispose_mo_hzhjHBS_gb
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 释放值槽活动块
  110.   #--------------------------------------------------------------------------
  111.   def dispose_mo_hzhjHBS_gb
  112.     @mo_actor_gague_bar.each{|gb| gb.dispose}
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 更新值槽活动块
  116.   #--------------------------------------------------------------------------
  117.   def update_mo_hzhjHBS_gb
  118.     @mo_actor_gague_bar.each{|gb| gb.update}
  119.   end
  120. end
  121. #==============================================================================
  122. # ■ Window_BattleStatus
  123. #==============================================================================
  124. class Window_BattleStatus
  125.   #--------------------------------------------------------------------------
  126.   # ● 刷新
  127.   #--------------------------------------------------------------------------
  128.   alias :mo_gb_hzhjHBS_refresh :refresh
  129.   def refresh
  130.     mo_gb_hzhjHBS_refresh
  131.     SceneManager.scene.instance_variable_get("@spriteset").update_mo_hzhjHBS_gb
  132.   end
  133. end

作者: 根五    时间: 2016-9-18 14:17
自顶一下




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1