| [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] |