依照前面的改法,我说说自己修改步骤。
标题菜单中加上游戏说明选项方法是打开 Window_TitleCommand 脚本,
在:
#-------------------------------------------------------------------------- # ● 生成指令清单 #-------------------------------------------------------------------------- def make_command_list add_command(Vocab::new_game, :new_game) add_command(Vocab::continue, :continue, continue_enabled) add_command(Vocab::shutdown, :shutdown) end
#--------------------------------------------------------------------------
# ● 生成指令清单
#--------------------------------------------------------------------------
def make_command_list
add_command(Vocab::new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
add_command(Vocab::shutdown, :shutdown)
end
加上一行:
add_command("游戏说明", :game_description)
add_command("游戏说明", :game_description)
其中 :game_description 是自己取的名称,可以改的。
然后在 Scene_Title 中的:
#-------------------------------------------------------------------------- # ● 生成指令视窗 #-------------------------------------------------------------------------- def create_command_window @command_window = Window_TitleCommand.new @command_window.set_handler(:new_game, method(:command_new_game)) @command_window.set_handler(:continue, method(:command_continue)) @command_window.set_handler(:shutdown, method(:command_shutdown)) @command_window.opacity = 255 end
#--------------------------------------------------------------------------
# ● 生成指令视窗
#--------------------------------------------------------------------------
def create_command_window
@command_window = Window_TitleCommand.new
@command_window.set_handler(:new_game, method(:command_new_game))
@command_window.set_handler(:continue, method(:command_continue))
@command_window.set_handler(:shutdown, method(:command_shutdown))
@command_window.opacity = 255
end
加上一行:
@command_window.set_handler(:game_description , method(:command_gamedescription))
@command_window.set_handler(:game_description , method(:command_gamedescription))
这儿的 :game_description 是对应在 Window_TitleCommand 那给的名称,后面 :command_gamedescription 则是与后面要做的事有关。
在 Scene_Title 找个位置,加上这一段:
#-------------------------------------------------------------------------- # ● 指令“游戏说明” #-------------------------------------------------------------------------- def command_gamedescription DataManager.create_game_objects #创建游戏数据 $game_party.setup_starting_members $game_map.setup(2) # 地图 id 指定, 2 即 MAP002 $game_player.moveto(12, 23) # 玩家指定的位置, x, y $game_player.refresh # 玩家人物重整 Graphics.frame_count = 0 #画面刷新计数 close_command_window #关闭窗口 fadeout_all #关闭音效音乐 $game_map.autoplay #自动播放音乐音效 SceneManager.goto(Scene_Map) #无过渡切换场景 end
#--------------------------------------------------------------------------
# ● 指令“游戏说明”
#--------------------------------------------------------------------------
def command_gamedescription
DataManager.create_game_objects #创建游戏数据
$game_party.setup_starting_members
$game_map.setup(2) # 地图 id 指定, 2 即 MAP002
$game_player.moveto(12, 23) # 玩家指定的位置, x, y
$game_player.refresh # 玩家人物重整
Graphics.frame_count = 0 #画面刷新计数
close_command_window #关闭窗口
fadeout_all #关闭音效音乐
$game_map.autoplay #自动播放音乐音效
SceneManager.goto(Scene_Map) #无过渡切换场景
end
就可以在选择后画面转跳至 MAP002 的 12,23 位置,想要不同的地图和位置可以自行改上面的值。
我记得好像在 XP 时地图 id 说是八进位,地图 id 超过 8 以上要转换计算,不知道 ace 是不是也一样,没试过。
|