Project1

标题: 修改选项却总是错误怎么办? [打印本页]

作者: 里世界住人雅翠    时间: 2014-1-1 18:30
标题: 修改选项却总是错误怎么办?
本帖最后由 里世界住人雅翠 于 2014-1-2 18:21 编辑

我本来想增加一个选项但总是提示有误,我是按照http://rpg.blue/forum.phpmod=vie ... D368%26typeid%3D368但是总提示@command_window = Window_TitleCommand.new这句有误,怎么办啊?

   
作者: 里世界住人雅翠    时间: 2014-1-1 18:37
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Title
  4. #------------------------------------------------------------------------------
  5. #  标题画面
  6. #==============================================================================

  7. class Scene_Title < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 开始处理
  10.   #--------------------------------------------------------------------------
  11.   def start
  12.     super
  13.     SceneManager.clear
  14.     Graphics.freeze
  15.     create_background
  16.     create_foreground
  17.     create_command_window
  18.     play_title_music
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 获取渐变速度
  22.   #--------------------------------------------------------------------------
  23.   def transition_speed
  24.     return 20
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 结束处理
  28.   #--------------------------------------------------------------------------
  29.   def terminate
  30.     super
  31.     SceneManager.snapshot_for_background
  32.     dispose_background
  33.     dispose_foreground
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 生成背景
  37.   #--------------------------------------------------------------------------
  38.   def create_background
  39.     @sprite1 = Sprite.new
  40.     @sprite1.bitmap = Cache.title1($data_system.title1_name)
  41.     @sprite2 = Sprite.new
  42.     @sprite2.bitmap = Cache.title2($data_system.title2_name)
  43.     center_sprite(@sprite1)
  44.     center_sprite(@sprite2)
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 生成前景
  48.   #--------------------------------------------------------------------------
  49.   def create_foreground
  50.     @foreground_sprite = Sprite.new
  51.     @foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  52.     @foreground_sprite.z = 100
  53.     draw_game_title if $data_system.opt_draw_title
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 绘制游戏标题
  57.   #--------------------------------------------------------------------------
  58.   def draw_game_title
  59.     @foreground_sprite.bitmap.font.size = 48
  60.     rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
  61.     @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 释放背景
  65.   #--------------------------------------------------------------------------
  66.   def dispose_background
  67.     @sprite1.bitmap.dispose
  68.     @sprite1.dispose
  69.     @sprite2.bitmap.dispose
  70.     @sprite2.dispose
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 释放前景
  74.   #--------------------------------------------------------------------------
  75.   def dispose_foreground
  76.     @foreground_sprite.bitmap.dispose
  77.     @foreground_sprite.dispose
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 执行精灵居中
  81.   #--------------------------------------------------------------------------
  82.   def center_sprite(sprite)
  83.     sprite.ox = sprite.bitmap.width / 2
  84.     sprite.oy = sprite.bitmap.height / 2
  85.     sprite.x = Graphics.width / 2
  86.     sprite.y = Graphics.height / 2
  87.   end
  88. #==============================================================================
  89. # ■ Window_TitleCommand
  90. #==============================================================================
  91. class Window_TitleCommand < Window_Command
  92.   #--------------------------------------------------------------------------
  93.   # ● 生成指令列表
  94.   #--------------------------------------------------------------------------
  95.   def make_command_list
  96.    add_command(Vocab::new_game, :new_game)
  97.     add_command("游戏须知", :msgbox,)
  98.     add_command(Vocab::continue, :continue, continue_enabled)
  99.     add_command(Vocab::shutdown, :shutdown)
  100.   end
  101. end
  102. #--------------------------------------------------------------------------
  103.   # ● 生成指令窗口
  104.   #--------------------------------------------------------------------------
  105.   def create_command_window
  106.     @command_window = Window_TitleCommand.new
  107.     @command_window.set_handler(:new_game, method(:command_new_game))
  108.     @command_window.set_handler(:msgbox, method(:command_msgbox))
  109.     @command_window.set_handler(:continue, method(:command_continue))
  110.     @command_window.set_handler(:shutdown, method(:command_shutdown))
  111.   end  
  112.   #--------------------------------------------------------------------------
  113.   # ● 关闭指令窗口
  114.   #--------------------------------------------------------------------------
  115.   def close_command_window
  116.     @command_window.close
  117.     update until @command_window.close?
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ● 指令“开始游戏”
  121.   #--------------------------------------------------------------------------
  122.   def command_new_game
  123.     DataManager.setup_new_game
  124.     close_command_window
  125.     fadeout_all
  126.     $game_map.autoplay
  127.     SceneManager.goto(Scene_Map)
  128.   end
  129.     #--------------------------------------------------------------------------
  130.   # ● 指令“游戏须知”
  131.   #--------------------------------------------------------------------------
  132.   def command_msgbox
  133.     msgbox"
  134.     欢迎游玩本游戏,下面我要为你讲解操作方法。
  135.     方向键控制移动,Z键确定与调查物品
  136.     X键为菜单,可以存档和查看物品。
  137.     本游戏的目的是:
  138.     帮助主角逃出这座房子并找回失去的记忆。
  139.     游玩愉快。"
  140.     @command_window.close
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 指令“继续游戏”
  144.   #--------------------------------------------------------------------------
  145.   def command_continue
  146.     close_command_window
  147.     SceneManager.call(Scene_Load)
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ● 指令“退出游戏”
  151.   #--------------------------------------------------------------------------
  152.   def command_shutdown
  153.     close_command_window
  154.     fadeout_all
  155.     SceneManager.exit
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 播放标题画面音乐
  159.   #--------------------------------------------------------------------------
  160.   def play_title_music
  161.     $data_system.title_bgm.play
  162.     RPG::BGS.stop
  163.     RPG::ME.stop
  164.   end
  165. end
复制代码

作者: Sion    时间: 2014-1-1 19:08
少了2个初始化参数
作者: 里世界住人雅翠    时间: 2014-1-2 11:46
Sion 发表于 2014-1-1 19:08
少了2个初始化参数

哪里少了?(初始化参数是什么...)
作者: 345912390    时间: 2014-1-2 13:58
没看明白,看是不是应该是这样
  1. #======================================================================
  2. # ■ Window_TitleCommand
  3. #==============================================================================
  4. class Window_TitleCommand < Window_Command
  5.   #--------------------------------------------------------------------------
  6.   # ● 生成指令列表
  7.   #--------------------------------------------------------------------------
  8.   alias old_make_command_list make_command_list

  9.   def make_command_list
  10.    add_command(Vocab::new_game, :new_game)
  11.     add_command("游戏须知", :msgbox,)
  12.     add_command(Vocab::continue, :continue, continue_enabled)
  13.     add_command(Vocab::shutdown, :shutdown)
  14.   end
  15. end
  16.    
  17. #encoding:utf-8
  18. #==============================================================================
  19. # ■ Scene_Title
  20. #------------------------------------------------------------------------------
  21. #  标题画面
  22. #==============================================================================

  23. class Scene_Title < Scene_Base
  24.   alias old_create_command_window create_command_window
  25.   def create_command_window
  26.     old_create_command_window
  27.     @command_window.set_handler(:msgbox, method(:command_msgbox))
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 指令“游戏须知”
  31.   #--------------------------------------------------------------------------
  32.   def command_msgbox
  33.     msgbox"
  34.     欢迎游玩本游戏,下面我要为你讲解操作方法。
  35.     方向键控制移动,Z键确定与调查物品
  36.     X键为菜单,可以存档和查看物品。
  37.     本游戏的目的是:
  38.     帮助主角逃出这座房子并找回失去的记忆。
  39.     游玩愉快。"
  40.     command_new_game
  41.   end
  42.   
  43. end
复制代码

作者: 里世界住人雅翠    时间: 2014-1-2 16:56
  alias old_create_command_window create_command_window
好吧我不知道到底是我的错还是什么,现在又提示这句了
作者: 里世界住人雅翠    时间: 2014-1-2 17:29
345912390 发表于 2014-1-2 13:58
没看明白,看是不是应该是这样

谢谢!终于好了




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