第一次讲解,希望大家多多支持,本讲解为我原创,脚本为我改写(改写title),版权属于默之(额 我的大号)。
额,很高行为大将讲解如何在开始后用脚本添加选项。
首先打开工程的脚本编辑, 找到 - #-------------------------------------------------------------------------- # ● 命令 : 新游戏 #-------------------------------------------------------------------------- def command_new_game # 演奏确定 SE $game_system.se_play($data_system.decision_se) # 停止 BGM Audio.bgm_stop # 重置测量游戏时间用的画面计数器 Graphics.frame_count = 0 # 生成各种游戏对像 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new # 设置初期同伴位置 $game_party.setup_starting_members # 设置初期位置的地图 $game_map.setup($data_system.start_map_id) # 主角向初期位置移动 $game_player.moveto($data_system.start_x, $data_system.start_y) # 刷新主角 $game_player.refresh # 执行地图设置的 BGM 与 BGS 的自动切换 $game_map.autoplay # 刷新地图 (执行并行事件) $game_map.update # 切换地图画面 $scene = Scene_Map.new end复制代码
复制代码将其全部改为 - #-------------------------------------------------------------------------- # ● 命令 : 新游戏 #默之 #-------------------------------------------------------------------------- def command_new_game $game_system.se_play($data_system.decision_se) $scene = Scene_xuanxiang.new #场景可自定义 end复制代码
复制代码并在 Scene_Title 底下新建一个 Scene_xuanxiang
Scene_xuanxiang 的编写 其实与 Scene_Title 有很多异曲同工之处
首先插入 - class Scene_xuanxiang #此处可更改 #-------------------------------------------------------------------------- # ● 新建游戏 #-------------------------------------------------------------------------- def main #把一个背景放入(需自定义图片) @sprite = Sprite.new @sprite.bitmap = RPG::Cache.panorama("mozhi", 0) #描绘窗口 s1 = " 播放序幕" s2 = " 跳过序幕" #下面与title差不多了 @command_window = Window_Command.new(150, [s1, s2]) @command_window.opacity = 0 @command_window.x = 320 - @command_window.width / 2 @command_window.y = 200 # 演奏标题 BGM(可自定义播放其他音乐) $game_system.bgm_play($data_system.title_bgm) # 停止演奏 ME、BGS Audio.me_stop Audio.bgs_stop # 执行过渡 Graphics.transition # 主循环 loop do # 刷新游戏画面 Graphics.update # 刷新输入信息 Input.update # 刷新画面 update # 如果画面被切换就中断循环 if $scene != self break end end # 装备过渡 Graphics.freeze # 释放命令窗口 @command_window.dispose # 释放标题图形 @sprite.bitmap.dispose @sprite.dispose end复制代码
复制代码s1 s2 后面的文字可以根据自己需要更改(这个跟title一样)
然后大段大段的复制底下 ,那么我将复制的脚本复制上来 - #-------------------------------------------------------------------------- # ● 刷新画面 #-------------------------------------------------------------------------- def update # 刷新命令窗口 @command_window.update # 按下 C 键的情况下 if Input.trigger?(Input::C) # 命令窗口的光标位置的分支 case @command_window.index when 0 # 播放序幕 command_bofang when 1 # 跳过序幕 command_tiaoguo end end复制代码
复制代码底下 播放序幕 与 跳过序幕 就用到了柳柳所讲解的如何在标题画面传送到不同地图了(在黑剑中有用到) - #-------------------------------------------------------------------------- # ● 命令 : 播放序幕 #-------------------------------------------------------------------------- def command_bofang # 演奏确定 SE $game_system.se_play($data_system.decision_se) # 停止 BGM Audio.bgm_stop # 重置测量游戏时间用的画面计数器 Graphics.frame_count = 0 # 生成各种游戏对像 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new # 设置初期同伴位置 $game_party.setup_starting_members # 设置初期位置的地图 $game_map.setup($data_system.start_map_id)#设置地图 # 主角向初期位置移动 $game_player.moveto($data_system.start_x, $data_system.start_y)#设置移动位置 # 刷新主角 $game_player.refresh # 执行地图设置的 BGM 与 BGS 的自动切换 $game_map.autoplay # 刷新地图 (执行并行事件) $game_map.update # 切换地图画面 $scene = Scene_Map.new end #-------------------------------------------------------------------------- # ● 命令 : 跳过序幕 #-------------------------------------------------------------------------- def command_tiaoguo # 演奏确定 SE $game_system.se_play($data_system.decision_se) # 停止 BGM Audio.bgm_stop # 重置测量游戏时间用的画面计数器 Graphics.frame_count = 0 # 生成各种游戏对像 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new # 设置初期同伴位置 $game_party.setup_starting_members # 设置初期位置的地图 $game_map.setup($data_system.start_map_id)#同上 # 主角向初期位置移动 $game_player.moveto($data_system.start_x, $data_system.start_y)#同上 # 刷新主角 $game_player.refresh # 执行地图设置的 BGM 与 BGS 的自动切换 $game_map.autoplay # 刷新地图 (执行并行事件) $game_map.update # 切换地图画面 $scene = Scene_Map.new end复制代码
复制代码当然结束了还得放一个 在最底面 - # 设置初期位置的地图 $game_map.setup设置地图 # 主角向初期位置移动 $game_player.moveto($data_system.start_x, $data_system.start_y)#设置移动位置复制代码
复制代码($data_system.start_map_id)这个需改为所在的地图id
什么你不知道地图id?!
右击你想让人物移动到的地图 第一行有一个 地图设置 地图设置的最上面便是了
因为是 序幕的播放 所以可任意设置位置 ($data_system.start_x, $data_system.start_y) 但不要超过所用的地图大小
但如果要是想明确的放在某位置 可新建一个事件 选择 场所移动 打开 直接指定 场所便可以看见了
额 如果还不会弄 可以联系我 QQ群 4693661 欢迎大家加入 ,也可以下载范例 (不过要经验的 也不贵 才10经验 回复两次就赚回来了)
开始候选项.rar(745.27 KB, 下载次数: 234, 售价: 1 星屑)2010-8-18 14:35 上传
点击文件名下载附件
售价: 1 星屑 [记录] [ 购买]
本帖来自P1论坛作者不是马甲,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=153659 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |