| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 5 |  
| 经验 | 42266 |  
| 最后登录 | 2021-9-15 |  
| 在线时间 | 828 小时 |  
 Lv2.观梦者 
	梦石0 星屑466 在线时间828 小时注册时间2009-5-31帖子88 | 
| 
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  请问有没有那位高手可以给这个脚本加上一个开关啊?复制代码#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
# 这个教学脚本可以在制作时候将窗户外面的部分填黑,营造室内的效果。实际制作方
#法是根据RMVX的“区域”功能配合脚本来实现的
#
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias old_cv create_viewports
  def create_viewports
    old_cv
    @fog_rects = []
    for area in $data_areas.values
      next if area.map_id != $game_map.map_id or area.name != "突出主景"
      @fog_rects.push(area.rect)
    end
    unless @fog_rects.empty?
      @viewport4 = Viewport.new(0, 0, 544, 416)
      @viewport4.z = 150
      @fog_sprite = Sprite.new(@viewport4)
      w,h = $game_map.width * 32, $game_map.height * 32
      @fog_sprite.bitmap = Bitmap.new(w, h)
      @fog_sprite.bitmap.fill_rect(0,0,w,h,Color.new(0,0,80,200))
      for rect in @fog_rects
        @fog_sprite.bitmap.clear_rect(Rect.new(rect.x * 32, rect.y * 32, rect.width * 32, rect.height * 32))
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● ビューポートの解放
  #--------------------------------------------------------------------------
  alias old_dv dispose_viewports
  def dispose_viewports
    old_dv
    unless @fog_rects.empty?
      @viewport4.dispose
      @fog_sprite.bitmap.dispose
      @fog_sprite.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ● タイルマップの更新
  #--------------------------------------------------------------------------
  alias old_ut update_tilemap
  def update_tilemap
    old_ut
    unless @fog_rects.empty?
      @fog_sprite.ox = $game_map.display_x / 8
      @fog_sprite.oy = $game_map.display_y / 8
      @fog_sprite.update
    end
  end
  #--------------------------------------------------------------------------
  # ● ビューポートの更新
  #--------------------------------------------------------------------------
  alias old_uv update_viewports
  def update_viewports
    old_uv
    @viewport4.update unless @fog_rects.empty?
  end
end
  
 | 
 |