| 
 
| 赞 | 3 |  
| VIP | 109 |  
| 好人卡 | 208 |  
| 积分 | 3 |  
| 经验 | 22037 |  
| 最后登录 | 2025-4-27 |  
| 在线时间 | 1196 小时 |  
 Lv2.观梦者 虚構歪曲
	梦石0 星屑334 在线时间1196 小时注册时间2010-12-18帖子3928 
 | 
| 本帖最后由 忧雪の伤 于 2011-8-11 22:44 编辑 
 复制代码# ▽△▽ XRXSv38. Run-Smoother! VX ▽△▽
#
# publish 2010/ 4/ 5β
# update     -   /16
#
#==============================================================================
# 簡易設定
#==============================================================================
module XEventSmoother
  def update
    super if need_update?
  end
  def need_update?
    @move_route_forcing or @move_type >= 1 or @step_anime
  end
end
class Game_Event < Game_Character
  include XEventSmoother
end
#==============================================================================
# 画面が動いた?/ グラフィックが変更された?
#==============================================================================
class Game_Player < Game_Character
  alias xrxsv38_update_scroll update_scroll
  def update_scroll(last_real_x, last_real_y)
    xrxsv38_update_scroll(last_real_x, last_real_y)
    $game_map.scrolled = (last_real_x != @real_x or last_real_y != @real_y)
  end
end
class Game_Map
  attr_accessor :scrolled
  alias xrxsv38_update_scroll update_scroll
  def update_scroll
    self.scrolled = (@scroll_rest > 0)
    xrxsv38_update_scroll
  end
end
class Game_Character
  attr_accessor :need_refresh
  def need_update?
    true
  end
  alias xrxsv38_set_graphic set_graphic
  def set_graphic(character_name, character_index)
    xrxsv38_set_graphic(character_name, character_index)
    self.need_refresh = true
  end
end
class Game_Player < Game_Character
  def need_refresh
    return true
  end
end
class Game_Event < Game_Character
  alias xrxsv38_refresh refresh
  def refresh
    xrxsv38_refresh
    self.need_refresh = true
  end
end
#==============================================================================
# キャラクタースプライト - フレーム更新 [再定義]
#==============================================================================
class Sprite_Character < Sprite_Base
  attr_accessor :character_graphic_refreshed
  def update
    super
    if !@character_graphic_refreshed or @character.need_refresh
      update_bitmap
      self.z = @character.screen_z
      @character_graphic_refreshed = true
      @character.need_refresh = false
    end
    self.visible = (not @character.transparent)
    update_src_rect
    if $game_map.scrolled or @character.need_update? or self.y == 0
      self.x = @character.screen_x
      self.y = @character.screen_y
    end
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    update_balloon
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      start_animation(animation)
      @character.animation_id = 0
    end
    if @character.balloon_id != 0
      @balloon_id = @character.balloon_id
      start_balloon
      @character.balloon_id = 0
    end
  end
end
 | 
 |