Project1

标题: 为什么存档时系统会说脚本SceneManager出现问题? [打印本页]

作者: 风间琉璃    时间: 2013-5-1 11:05
标题: 为什么存档时系统会说脚本SceneManager出现问题?
具体问题是这样的:
脚本SceneManager第60行:发生ArgumentError.
wrong number of arguments (0 for 1)



脚本是这样的:
#encoding:utf-8
#==============================================================================
# ■ SceneManager
#------------------------------------------------------------------------------
#  场景切换的管理器。RGSS3 内置了新功能,在使用 call 方法切换新场景时,可以
#   用 return 方法返回上一个场景。
#==============================================================================

module SceneManager
  #--------------------------------------------------------------------------
  # ● 模块的实例变量
  #--------------------------------------------------------------------------
  @scene = nil                            # 当前场景实例
  @stack = []                             # 场景切换的记录
  @background_bitmap = nil                # 背景用的场景截图
  #--------------------------------------------------------------------------
  # ● 运行
  #--------------------------------------------------------------------------
  def self.run
    DataManager.init
    Audio.setup_midi if use_midi?
    @scene = first_scene_class.new
    @scene.main while @scene
  end
  #--------------------------------------------------------------------------
  # ● 获取最初场景的所属类
  #--------------------------------------------------------------------------
  def self.first_scene_class
    $BTEST ? Scene_Battle : Scene_Title
  end
  #--------------------------------------------------------------------------
  # ● 是否使用 MIDI
  #--------------------------------------------------------------------------
  def self.use_midi?
    $data_system.opt_use_midi
  end
  #--------------------------------------------------------------------------
  # ● 获取当前场景
  #--------------------------------------------------------------------------
  def self.scene
    @scene
  end
  #--------------------------------------------------------------------------
  # ● 判定当前场景的所属类
  #--------------------------------------------------------------------------
  def self.scene_is?(scene_class)
    @scene.instance_of?(scene_class)
  end
  #--------------------------------------------------------------------------
  # ● 直接切换某个场景(无过渡)
  #--------------------------------------------------------------------------
  def self.goto(scene_class)
    @scene = scene_class.new
  end
  #--------------------------------------------------------------------------
  # ● 切换
  #--------------------------------------------------------------------------
  def self.call(scene_class)
    @stack.push(@scene)
    @scene = scene_class.new
  end
  #--------------------------------------------------------------------------
  # ● 返回到上一个场景
  #--------------------------------------------------------------------------
  def self.return
    @scene = @stack.pop
  end
  #--------------------------------------------------------------------------
  # ● 清空场景切换的记录
  #--------------------------------------------------------------------------
  def self.clear
    @stack.clear
  end
  #--------------------------------------------------------------------------
  # ● 退出游戏
  #--------------------------------------------------------------------------
  def self.exit
    @scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 生成背景用的场景截图
  #--------------------------------------------------------------------------
  def self.snapshot_for_background
    @background_bitmap.dispose if @background_bitmap
    @background_bitmap = Graphics.snap_to_bitmap
    @background_bitmap.blur
  end
  #--------------------------------------------------------------------------
  # ● 获取背景用的场景截图
  #--------------------------------------------------------------------------
  def self.background_bitmap
    @background_bitmap
  end
end

作者: 喵呜喵5    时间: 2013-5-1 11:20
你有没有新加入什么脚本?
作者: lsiness    时间: 2013-5-1 14:28
可能是你的地图上没有设战斗时场景图。
作者: 黄濑凉太    时间: 2013-5-1 15:17
把范例发过来,帮你看看。【如果你不介意的话】
作者: 风间琉璃    时间: 2013-5-2 15:30
喵呜喵5 发表于 2013-5-1 11:20
你有没有新加入什么脚本?

有加入新脚本0 0
作者: 喵呜喵5    时间: 2013-5-2 18:28
风间琉璃 发表于 2013-5-2 15:30
有加入新脚本0 0

那就是脚本冲突咯,可能是两个脚本都修改了scene_manager,然后后面那个脚本把前面脚本的修改覆盖了,于是前面那个脚本再调用scene_manager时scene_manager就出错了……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1