| 
 
| 赞 | 5 |  
| VIP | 6 |  
| 好人卡 | 15 |  
| 积分 | 1 |  
| 经验 | 12984 |  
| 最后登录 | 2017-3-27 |  
| 在线时间 | 248 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间248 小时注册时间2010-8-22帖子127 | 
| 
这篇脚本用于切换到特定地图时展示专有图片,体验过 DNF 的朋友们自然不会对这个效果陌生了:例如从赫顿玛尔切换到西海岸时会出现西海岸的专有插图。我的这份脚本灵感便是来源于此。
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  脚本内容是从 GameOver 这个特别场景参考的。由于是特别运用于我那部渣同人《进军地狱门》,所以很多细节,复制过去的朋友们不要忘记修改了。展示效果要自己试试才会知道,我懒得放范例工程了,没那份闲工夫去做。
 下面这图是伊萨多拉村庄的插图。进入该地图的效果其实可以参考 Gameover 的场景。
 
   废话不说,下面贴上脚本,拿去怎么用都行。商业目的的话记得事先和本人联系。
 哎呀,忘记说了,在事件设置中,场所移动的命令后插入脚本 $scene = Scene_MapChange.new 即可。如果先调用脚本再场所移动,因为脚本读取的是当前地图,所以会造成小小的 BUG。本人正在考虑在 ryumap 变量那里 +1,不过那些地图就要顺序排列了,的确很麻烦。希望有谁能出面完善一下。
 
 复制代码#==============================================================================
# ■ Scene_MapChange 1.0 Edition
#------------------------------------------------------------------------------
#  切换关键地图时显示专有图像
#   作者 / Ryusa 参考 / 尽头 宇文隳
#   [email protected]
#==============================================================================
class Scene_MapChange
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 获取地图 ID,导入变量 ryumap
    ryumap = $game_map.map_id
    # 由地图 ID 决定生成图形
    filename = ""
    case ryumap
      #when num # 范例
        #filename = "path" # 范例
      when 22  # 里奥拉多地区·里奥拉多镇通道
        filename = "Scene_AreaLeoladol.png"
      when 40  # 里奥拉多地区·麦基通道
        filename = "Scene_AreaLeoladol.png"
      when 47  # 里奥拉多地区·波布雷欧普莱通道
        filename = "Scene_AreaLeoladol.png"
      when 23  # 里奥拉多镇
        filename = "Scene_AreaLeoladol.png"
      when 148 # 巴多·帕鲁迪兹山洞
        filename = "Scene_CaveBado.png"
      when 114 # 地狱门
        filename = "Scene_Desert.png"
      when 119 # 地球救济中心
        filename = "Scene_Earth.png"
      when 97  # 伊尔·米古拉
        filename = "Scene_ElMigolar.png"
      when 51  # 莫氏塔
        filename = "Scene_Mr.MowTower.png"
      when 38  # 波布雷·欧普莱
        filename = "Scene_NewFork.png"
      when 75  # 奥多里
        filename = "Scene_Outry.png"
      when 109 # 桑塔
        filename = "Scene_SantaPork.png"
      when 136 # 地狱门西村
        filename = "Scene_SunPork.png"
      when 42  # 麦基村
        filename = "Scene_TownNeki.png"
      else # 未特别指定的地图显示通用图像
        filename = "Scene_TownNeki.png"
    end
    #print filename # 校验文件名,测试用
    @sprite = Sprite.new
    if not filename == ""
      @sprite.bitmap = RPG::Cache.picture(filename)
      @sprite.z = 9999 # 图像叠放层次在最前
    end
    # 执行过渡
    Graphics.transition(60) # 淡入图像的时间,单位为帧
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面情报
      update
      # 如果画面被切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放图形
    @sprite.bitmap.dispose
    @sprite.dispose
    # 执行过度
    Graphics.transition(20)
    # 准备过渡
    Graphics.freeze
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    @sprite.update
    #@sprite.bitmap.update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 切换到相应地图
      $scene = Scene_Map.new
    end
  end
end
 
 
 | 
 |