[blockquote]  def update |
    super |
    # 战斗者为 nil 的情况下 |
    if @battler == nil |
      self.bitmap = nil |
      loop_animation(nil) |
      return |
    end |
    # 文件名和色相与当前情况有差异的情况下 |
    if @battler.battler_name != @battler_name or |
       @battler.battler_hue != @battler_hue |
      # 获取、设置位图 |
      @battler_name = @battler.battler_name |
      @battler_hue = @battler.battler_hue |
      self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue) |
      @width = bitmap.width |
      @height = bitmap.height |
      self.ox = @width / 2 |
      self.oy = @height |
      # 如果是战斗不能或者是隐藏状态就把透明度设置成 0 |
      if @battler.dead? or @battler.hidden |
        self.opacity = 0 |
      end |
    end |
    # 动画 ID 与当前的情况有差异的情况下 |
    if @battler.damage == nil and |
       @battler.state_animation_id != @state_animation_id |
      @state_animation_id = @battler.state_animation_id |
      loop_animation($data_animations[@state_animation_id]) |
    end |
    # 应该被显示的角色的情况下 |
    #if @battler.is_a?(Game_Actor) and @battler_visible |
       # 不是主状态的时候稍稍降低点透明度 |
    #  if $game_temp.battle_main_phase |
    #    self.opacity += 3 if self.opacity < 255 |
    #  else |
    #    self.opacity -= 3 if self.opacity > 207 |
    # end |
    #end |
    # 明灭 |
    #if @battler.blink |
    #  blink_on |
    #else |
    #  blink_off |
    #end |
    # 不可见的情况下 |
    unless @battler_visible |
      # 出现 |
      if not @battler.hidden and not @battler.dead? and |
         (@battler.damage == nil or @battler.damage_pop) |
        appear |
        @battler_visible = true |
      end |
    end |
    # 可见的情况下 |
    if @battler_visible |
      # 逃跑 |
      if @battler.hidden |
        $game_system.se_play($data_system.escape_se) |
        escape |
        @battler_visible = false |
      end |
      # 白色闪烁 |
      if @battler.white_flash |
        whiten |
        @battler.white_flash = false |
      end |
      # 动画 |
      if @battler.animation_id != 0 |
        animation = $data_animations[@battler.animation_id] |
        animation(animation, @battler.animation_hit) |
        @battler.animation_id = 0 |
      end |
      # 伤害 |
      if @battler.damage_pop |
        damage(@battler.damage, @battler.critical) |
        @battler.damage = nil |
        @battler.critical = false |
        @battler.damage_pop = false |
      end |
      # korapusu |
      if @battler.damage == nil and @battler.dead? |
        if @battler.is_a?(Game_Enemy) |
          $game_system.se_play($data_system.enemy_collapse_se) |
        else |
          $game_system.se_play($data_system.actor_collapse_se) |
        end |
        collapse |
        @battler_visible = false |
      end |
    end |
    # 设置活动块的坐标 |
    self.x = @battler.screen_x |
    self.y = @battler.screen_y |
    self.z = @battler.screen_z |
  end[/blockquote] |