#==============================================================================
# 设置不会被图片覆盖的地图id
NON_COVERED_MAP_ID = [1, 2, 3, 4]
# 设置不会被图片覆盖的事件名字前缀
NON_COVERED_EVT_NAME_PREF = "#"
#==============================================================================
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ● 获取事件名
#--------------------------------------------------------------------------
def name
@event.name
end
end
#==============================================================================
class Game_Pictures
#--------------------------------------------------------------------------
# ● 获取图片列表的尺寸
#--------------------------------------------------------------------------
def size
@data.size
end
end
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# ● 更新位置
#--------------------------------------------------------------------------
alias non_covered_update_position update_position
def update_position
non_covered_update_position
if NON_COVERED_MAP_ID.index($game_map.map_id) ||
self.character.is_a?(Game_Event) &&
self.character.name.index(NON_COVERED_EVT_NAME_PREF) == 0
self.z += $game_map.screen.pictures.size + 1
end
end
end
#==============================================================================
class Sprite_Picture < Sprite
#--------------------------------------------------------------------------
# ● 更新位置
#--------------------------------------------------------------------------
alias non_covered_update_position update_position
def update_position
non_covered_update_position
self.z += 100
end
end
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● 更新图片精灵
#--------------------------------------------------------------------------
def update_pictures
$game_map.screen.pictures.each do |pic|
@picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport1, pic)
@picture_sprites[pic.number].update
end
end
end