设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1804|回复: 7
打印 上一主题 下一主题

[已经解决] 那个,使用跳过标题脚本后怎样返回标题?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2011-10-1
帖子
38
跳转到指定楼层
1
发表于 2011-10-7 14:11:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
跳过标题貌似是把原标题删掉了

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

2
发表于 2011-10-7 14:23:10 | 只看该作者
$scene = Scene_Title.new

在事件中添加这句脚本就行了
我帖子中要有是不HX的空白,请Ctrl + A
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2011-10-1
帖子
38
3
 楼主| 发表于 2011-10-7 14:39:22 | 只看该作者
iisnow 发表于 2011-10-7 14:23
$scene = Scene_Title.new

在事件中添加这句脚本就行了

- -貌似不能返回啊
回复

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
728
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

4
发表于 2011-10-7 14:43:54 | 只看该作者
本帖最后由 各种压力的猫君 于 2011-10-7 15:39 编辑

新建个工程,把 Scene_Title 改名(随意改)
脚本内容里 class Scene_Title 改掉(不用和脚本名统一,脚本名其实无所谓)
改好之后把这个脚本插到你的工程 Scene_Title 下面,
然后事件添加(以改为 class Scene_Title_noskip 为例)
  1. $scene = Scene_Title_noskip.new
复制代码

  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 战斗测试的情况下
  12.     if $BTEST
  13.       battle_test
  14.       return
  15.     end
  16.     # 载入数据库
  17.     $data_actors        = load_data("Data/Actors.rxdata")
  18.     $data_classes       = load_data("Data/Classes.rxdata")
  19.     $data_skills        = load_data("Data/Skills.rxdata")
  20.     $data_items         = load_data("Data/Items.rxdata")
  21.     $data_weapons       = load_data("Data/Weapons.rxdata")
  22.     $data_armors        = load_data("Data/Armors.rxdata")
  23.     $data_enemies       = load_data("Data/Enemies.rxdata")
  24.     $data_troops        = load_data("Data/Troops.rxdata")
  25.     $data_states        = load_data("Data/States.rxdata")
  26.     $data_animations    = load_data("Data/Animations.rxdata")
  27.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  28.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  29.     $data_system        = load_data("Data/System.rxdata")
  30.     # 判定继续的有效性
  31.     # 存档文件一个也不存在的时候也调查
  32.     # 有効为 @continue_enabled 为 true、無効为 false
  33.     @continue_enabled = false
  34.     for i in 0..3
  35.       if FileTest.exist?("Save#{i+1}.rxdata")
  36.         @continue_enabled = true
  37.       end
  38.     end
  39.     # 生成系统对像
  40.     $game_system = Game_System.new
  41.     # 判断是否跳过标题
  42.     if $donotskiptitle != true   # 如果开关不为true
  43.       command_skip_title         # 跳过标题
  44.     else                         # 否则的话不跳过
  45.     # 关掉开关,防止F12时显示标题
  46.     $donotskiptitle = nil
  47.     # 生成标题图形
  48.     @sprite = Sprite.new
  49.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  50.     # 生成命令窗口
  51.     s1 = "新游戏"
  52.     s2 = "继续"
  53.     s3 = "退出"
  54.     @command_window = Window_Command.new(192, [s1, s2, s3])
  55.     @command_window.back_opacity = 160
  56.     @command_window.x = 320 - @command_window.width / 2
  57.     @command_window.y = 288
  58.     # 继续为有效的情况下、光标停止在继续上
  59.     # 无效的情况下、继续的文字显示为灰色
  60.     if @continue_enabled
  61.       @command_window.index = 1
  62.     else
  63.       @command_window.disable_item(1)
  64.     end
  65.     # 演奏标题 BGM
  66.     $game_system.bgm_play($data_system.title_bgm)
  67.     # 停止演奏 ME、BGS
  68.     Audio.me_stop
  69.     Audio.bgs_stop
  70.     # 执行过渡
  71.     Graphics.transition
  72.     # 主循环
  73.     loop do
  74.       # 刷新游戏画面
  75.       Graphics.update
  76.       # 刷新输入信息
  77.       Input.update
  78.       # 刷新画面
  79.       update
  80.       # 如果画面被切换就中断循环
  81.       if $scene != self
  82.         break
  83.       end
  84.     end
  85.     # 准备过渡
  86.     Graphics.freeze
  87.     # 释放命令窗口
  88.     @command_window.dispose
  89.     # 释放标题图形
  90.     @sprite.bitmap.dispose
  91.     @sprite.dispose
  92.     end
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 刷新画面
  96.   #--------------------------------------------------------------------------
  97.   def update
  98.     # 刷新命令窗口
  99.     @command_window.update
  100.     # 按下 C 键的情况下
  101.     if Input.trigger?(Input::C)
  102.       # 命令窗口的光标位置的分支
  103.       case @command_window.index
  104.       when 0  # 新游戏
  105.         command_new_game
  106.       when 1  # 继续
  107.         command_continue
  108.       when 2  # 退出
  109.         command_shutdown
  110.       end
  111.     end
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 跳过标题(新游戏)
  115.   #--------------------------------------------------------------------------
  116.   def command_skip_title
  117.     # 重置测量游戏时间用的画面计数器
  118.     Graphics.frame_count = 0
  119.     # 生成各种游戏对像
  120.     $game_temp          = Game_Temp.new
  121.     $game_system        = Game_System.new
  122.     $game_switches      = Game_Switches.new
  123.     $game_variables     = Game_Variables.new
  124.     $game_self_switches = Game_SelfSwitches.new
  125.     $game_screen        = Game_Screen.new
  126.     $game_actors        = Game_Actors.new
  127.     $game_party         = Game_Party.new
  128.     $game_troop         = Game_Troop.new
  129.     $game_map           = Game_Map.new
  130.     $game_player        = Game_Player.new
  131.     # 设置初期同伴位置
  132.     $game_party.setup_starting_members
  133.     # 设置初期位置的地图
  134.     $game_map.setup($data_system.start_map_id)
  135.     # 主角向初期位置移动
  136.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  137.     # 刷新主角
  138.     $game_player.refresh
  139.     # 执行地图设置的 BGM 与 BGS 的自动切换
  140.     $game_map.autoplay
  141.     # 刷新地图 (执行并行事件)
  142.     $game_map.update
  143.     # 准备过渡
  144.     Graphics.freeze
  145.     # 切换地图画面
  146.     $scene = Scene_Map.new
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 命令 : 新游戏
  150.   #--------------------------------------------------------------------------
  151.   def command_new_game
  152.     # 演奏确定 SE
  153.     $game_system.se_play($data_system.decision_se)
  154.     # 停止 BGM
  155.     Audio.bgm_stop
  156.     # 重置测量游戏时间用的画面计数器
  157.     Graphics.frame_count = 0
  158.     # 生成各种游戏对像
  159.     $game_temp          = Game_Temp.new
  160.     $game_system        = Game_System.new
  161.     $game_switches      = Game_Switches.new
  162.     $game_variables     = Game_Variables.new
  163.     $game_self_switches = Game_SelfSwitches.new
  164.     $game_screen        = Game_Screen.new
  165.     $game_actors        = Game_Actors.new
  166.     $game_party         = Game_Party.new
  167.     $game_troop         = Game_Troop.new
  168.     $game_map           = Game_Map.new
  169.     $game_player        = Game_Player.new
  170.     # 设置初期同伴位置
  171.     $game_party.setup_starting_members
  172.     # 设置初期位置的地图
  173.     $game_map.setup($data_system.start_map_id)
  174.     # 主角向初期位置移动
  175.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  176.     # 刷新主角
  177.     $game_player.refresh
  178.     # 执行地图设置的 BGM 与 BGS 的自动切换
  179.     $game_map.autoplay
  180.     # 刷新地图 (执行并行事件)
  181.     $game_map.update
  182.     # 切换地图画面
  183.     $scene = Scene_Map.new
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # ● 命令 : 继续
  187.   #--------------------------------------------------------------------------
  188.   def command_continue
  189.     # 继续无效的情况下
  190.     unless @continue_enabled
  191.       # 演奏无效 SE
  192.       $game_system.se_play($data_system.buzzer_se)
  193.       return
  194.     end
  195.     # 演奏确定 SE
  196.     $game_system.se_play($data_system.decision_se)
  197.     # 切换到读档画面
  198.     $scene = Scene_Load.new
  199.   end
  200.   #--------------------------------------------------------------------------
  201.   # ● 命令 : 退出
  202.   #--------------------------------------------------------------------------
  203.   def command_shutdown
  204.     # 演奏确定 SE
  205.     $game_system.se_play($data_system.decision_se)
  206.     # BGM、BGS、ME 的淡入淡出
  207.     Audio.bgm_fade(800)
  208.     Audio.bgs_fade(800)
  209.     Audio.me_fade(800)
  210.     # 退出
  211.     $scene = nil
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ● 战斗测试
  215.   #--------------------------------------------------------------------------
  216.   def battle_test
  217.     # 载入数据库 (战斗测试用)
  218.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  219.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  220.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  221.     $data_items         = load_data("Data/BT_Items.rxdata")
  222.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  223.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  224.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  225.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  226.     $data_states        = load_data("Data/BT_States.rxdata")
  227.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  228.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  229.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  230.     $data_system        = load_data("Data/BT_System.rxdata")
  231.     # 重置测量游戏时间用的画面计数器
  232.     Graphics.frame_count = 0
  233.     # 生成各种游戏对像
  234.     $game_temp          = Game_Temp.new
  235.     $game_system        = Game_System.new
  236.     $game_switches      = Game_Switches.new
  237.     $game_variables     = Game_Variables.new
  238.     $game_self_switches = Game_SelfSwitches.new
  239.     $game_screen        = Game_Screen.new
  240.     $game_actors        = Game_Actors.new
  241.     $game_party         = Game_Party.new
  242.     $game_troop         = Game_Troop.new
  243.     $game_map           = Game_Map.new
  244.     $game_player        = Game_Player.new
  245.     # 设置战斗测试用同伴
  246.     $game_party.setup_battle_test_members
  247.     # 设置队伍 ID、可以逃走标志、战斗背景
  248.     $game_temp.battle_troop_id = $data_system.test_troop_id
  249.     $game_temp.battle_can_escape = true
  250.     $game_map.battleback_name = $data_system.battleback_name
  251.     # 演奏战斗开始 BGM
  252.     $game_system.se_play($data_system.battle_start_se)
  253.     # 演奏战斗 BGM
  254.     $game_system.bgm_play($game_system.battle_bgm)
  255.     # 切换到战斗画面
  256.     $scene = Scene_Battle.new
  257.   end
  258. end

  259. #==============================================================================
  260. # ■ 修正部分
  261. #------------------------------------------------------------------------------
  262. #  下面对一些返回标题的情况进行重定义。
  263. #==============================================================================

  264. class Interpreter            # 事件调用“返回标题画面”
  265.   #--------------------------------------------------------------------------
  266.   # ● 返回标题画面
  267.   #--------------------------------------------------------------------------
  268.   def command_354
  269.     # 打开不跳过标题的开关,除非事件强制指定了跳过
  270.     $donotskiptitle = true unless $donotskiptitle == false
  271.     # 设置返回标题画面标志
  272.     $game_temp.to_title = true
  273.     # 结束
  274.     return false
  275.   end
  276. end

  277. class Scene_End              # 菜单选择“结束游戏”—“返回标题画面”
  278.   #--------------------------------------------------------------------------
  279.   # ● 选择命令 [返回标题画面] 时的处理
  280.   #--------------------------------------------------------------------------
  281.   def command_to_title
  282.     # 打开不跳过标题的开关,除非事件强制指定了跳过
  283.     $donotskiptitle = true unless $donotskiptitle == false
  284.     # 演奏确定 SE
  285.     $game_system.se_play($data_system.decision_se)
  286.     # 淡入淡出 BGM、BGS、ME
  287.     Audio.bgm_fade(800)
  288.     Audio.bgs_fade(800)
  289.     Audio.me_fade(800)
  290.     # 切换到标题画面
  291.     $scene = Scene_Title.new
  292.   end
  293. end
复制代码
删掉你现在的跳过标题脚本和Scene_Title脚本,然后把上面的脚本插到Scene_End脚本以下

事件调用的“返回标题画面”和菜单中选择“结束游戏”—“返回标题画面”都会返回标题画面。

当希望不显示标题画面而返回标题画面(相当于重置,强制跳过)可以先用事件脚本关掉这个开关:
  1. $donotskiptitle = "false"
复制代码
全局变量不会被存档,因此不用担心打开了开关之后下次打开游戏会出问题。
但是由于按F12重置的时候全局变量的值会被保留,因此需要46-47行关掉这个开关。
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

5
发表于 2011-10-7 14:45:17 | 只看该作者
Zigzag 发表于 2011-10-7 14:39
- -貌似不能返回啊

那就是脚本改变了Scene_Title,自己复制一个粘回去,换个名字
什么
Scene_Biaoti

然后在事件中写$scene = Scene_Biaoti.new
(或者你把脚本发上来看看,应该可以改的)

评分

参与人数 1星屑 +132 收起 理由
各种压力的猫君 + 132 新手糖~

查看全部评分

我帖子中要有是不HX的空白,请Ctrl + A
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2011-10-1
帖子
38
6
 楼主| 发表于 2011-10-7 14:52:28 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. class Scene_Title
  5.   #==============================================================================
  6.   # 脚本作者:朱仔メ龍 QQ:251724722
  7.   # 脚本转载请保留以上信息
  8.   #==============================================================================
  9.   def main
  10.     $data_actors        = load_data("Data/Actors.rxdata")
  11.     $data_classes       = load_data("Data/Classes.rxdata")
  12.     $data_skills        = load_data("Data/Skills.rxdata")
  13.     $data_items         = load_data("Data/Items.rxdata")
  14.     $data_weapons       = load_data("Data/Weapons.rxdata")
  15.     $data_armors        = load_data("Data/Armors.rxdata")
  16.     $data_enemies       = load_data("Data/Enemies.rxdata")
  17.     $data_troops        = load_data("Data/Troops.rxdata")
  18.     $data_states        = load_data("Data/States.rxdata")
  19.     $data_animations    = load_data("Data/Animations.rxdata")
  20.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  21.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  22.     $data_system        = load_data("Data/System.rxdata")
  23.     $game_system = Game_System.new
  24.     Graphics.frame_count = 0
  25.     $game_temp          = Game_Temp.new
  26.     $game_system        = Game_System.new
  27.     $game_switches      = Game_Switches.new
  28.     $game_variables     = Game_Variables.new
  29.     $game_self_switches = Game_SelfSwitches.new
  30.     $game_screen        = Game_Screen.new
  31.     $game_actors        = Game_Actors.new
  32.     $game_party         = Game_Party.new
  33.     $game_troop         = Game_Troop.new
  34.     $game_map           = Game_Map.new
  35.     $game_player        = Game_Player.new
  36.     $game_party.setup_starting_members
  37.     $game_map.setup($data_system.start_map_id)
  38.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  39.     $game_player.refresh
  40.     $game_map.autoplay
  41.     $game_map.update
  42.     $scene = Scene_Map.new
  43.   end
  44. end


  45. #==============================================================================
  46. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  47. #==============================================================================
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2011-10-1
帖子
38
7
 楼主| 发表于 2011-10-7 14:57:28 | 只看该作者
iisnow 发表于 2011-10-7 14:45
那就是脚本改变了Scene_Title,自己复制一个粘回去,换个名字
什么
Scene_Biaoti

= =都是好答案啊……可惜不能同时认可两个
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

8
发表于 2011-10-7 15:08:26 | 只看该作者
Zigzag 发表于 2011-10-7 14:57
= =都是好答案啊……可惜不能同时认可两个

哈哈~无所谓了,我也是新手,到这只是学习,不求经验的
我帖子中要有是不HX的空白,请Ctrl + A
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 17:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表