【默】在开始后出现选项如跳过序幕之类的(脚本)
第一次讲解,希望大家多多支持,本讲解为我原创,脚本为我改写(改写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.newend复制代码将其全部改为#--------------------------------------------------------------------------# ● 命令 : 新游戏 #默之 #--------------------------------------------------------------------------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, ) @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.disposeend复制代码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 endend复制代码底下 播放序幕 与 跳过序幕 就用到了柳柳所讲解的如何在标题画面传送到不同地图了(在黑剑中有用到)#--------------------------------------------------------------------------# ● 命令 : 播放序幕#--------------------------------------------------------------------------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.newend#--------------------------------------------------------------------------# ● 命令 : 跳过序幕#--------------------------------------------------------------------------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.newend复制代码当然结束了还得放一个 endend复制代码在最底面 # 设置初期位置的地图 $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在线咨询功能删除,谢谢。
页:
[1]