幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1896|回复: 4

[RMVX] 这个游戏结束脚本请高手们帮我想一下是那儿错了谢谢!

[复制链接]

6

主题

19

帖子

211

积分

③业余

积分
211
发表于 2007-3-20 08:05:25 | 显示全部楼层 |阅读模式
我的想法就是把原先游戏里的那个“游戏结束”选项改名为“系统”,除了原先里面的“返回标题画面”
“结束”“取消”外,我再加上“存档”“读档”两个选项,可我改完了后,存档那个出错,还有就是读档正常,能进入读档画面,但我不读档按“ESC”键想返回原先画面时却直接返回到选“返回标题画面”后所显示的那里去了
脚本如下,高手们帮看看,也许对于你们,这个只是小菜一碟。有色部分是我改的。
#==============================================================================
# ■ Scene_End
#------------------------------------------------------------------------------
#  处理游戏结束画面的类。
#==============================================================================

class Scene_End
  def initialize(menuid)
    @menuid = menuid
  end
   
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    cmd = Window_Command_New.new($game_party.actors.size)
    cmd.index = @menuid
    cmd.active = false
    # 生成命令窗口
    s1 = "存档"
    s2 = "读档"
   
    s3 = "返回标题"
    s4 = "退出游戏"
    s5 = "  取消"
    @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5])
    @command_window.x = 286
    @command_window.y = 20
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入情报
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放窗口
    @command_window.dispose
    # 如果在标题画面切换中的情况下
    if $scene.is_a?(Scene_Title)
      # 淡入淡出画面
      Graphics.transition
      Graphics.freeze
    end
    cmd.dispose
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新命令窗口
    @command_window.update
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换到菜单画面
      $scene = Scene_Menu.new(@menuid)
      return
    end
    # 按下 C 键的场合下
    if Input.trigger?(Input::C)
      # 命令窗口光标位置分支
      case @command_window.index
      when 0 #存档
        command_to_cundang
      when 1 #读档
        command_dudang

      when 2  # 返回标题画面
        command_to_title
      when 3 # 退出
       command_shutdown
      when 4  # 取消
        command_cancel  
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [存档] 时的处理
  #--------------------------------------------------------------------------
  def command_to_cundang
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到存档画面
        $scene = Scene_Save.new
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [读档] 时的处理
  #--------------------------------------------------------------------------
  def command_dudang
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到菜单画面
    $scene = Scene_Load.new
  
  end

  #--------------------------------------------------------------------------
  # ● 选择命令 [返回标题画面] 时的处理
  #--------------------------------------------------------------------------
  def command_to_title
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 淡入淡出 BGM、BGS、ME
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 切换到标题画面
    $scene = Scene_Title.new
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [退出] 时的处理
  #--------------------------------------------------------------------------
  def command_shutdown
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 淡入淡出 BGM、BGS、ME
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 退出
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [取消] 时的处理
  #--------------------------------------------------------------------------
  def command_cancel
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到菜单画面
    $scene = Scene_Menu.new(@menuid)
  end
end
回复

使用道具 举报

6

主题

19

帖子

211

积分

③业余

积分
211
 楼主| 发表于 2007-3-20 08:26:58 | 显示全部楼层
我想关于读档如果取消会返回到最开始进入游戏时的那三个选择项画面的问题是出在这儿
在Scene_Load里有这样一句
#--------------------------------------------------------------------------
  # ● 取消时的处理
  #--------------------------------------------------------------------------
  def on_cancel
    # 演奏取消 SE
    $game_system.se_play($data_system.cancel_se)
    # 切换到标题画面
    if @menuid == -1
      $scene = Scene_Title.new
   
    else
      $scene = Scene_Menu.new(@menuid)
    end
  end
如果@menuid == -1就返回到标题画面。
是在游戏开始时有存档内容时选“继续”后读档,如果不读就返回这个画面。
可是我不知怎么改啊
回复 支持 反对

使用道具 举报

93

主题

1801

帖子

7万

积分

荣誉群

被神隐藏的兔子

积分
79512

声命组银赏地图奨金赏

QQ
发表于 2007-3-20 11:51:00 | 显示全部楼层
应该先改那个主菜单的脚本吧……然后在改这个END脚本……我脚本盲……帮顶一个

$scene = Scene_Menu.new(@menuid)
这个是啥意思?括号的?
RMVX,我等待着你! VX唯一的弱点,速度太慢~其他都好解决~~
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2007-3-20 13:04:47 | 显示全部楼层
Window_Command_New本身就不是一个默认的脚本…… [s:5]

其实要修改存档和读档功能很简单的啊- -|||……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

6

主题

19

帖子

211

积分

③业余

积分
211
 楼主| 发表于 2007-3-20 15:00:53 | 显示全部楼层
引用第2楼风雪优游2007-03-20 11:51发表的:
应该先改那个主菜单的脚本吧……然后在改这个END脚本……我脚本盲……帮顶一个

$scene = Scene_Menu.new(@menuid)
这个是啥意思?括号的?
我也是一个脚本盲,不过我改了下,发现那个功能是当你按“ESC”键后 切换到菜单画面
会切回原先那个选择项,
例如:你选择了装备,按ENTER键进去看了一番按ESC键再返回看其它的时,那个光标还在那个装备项上,你要是改个其它值,就不会再那个项上了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-24 14:04 , Processed in 0.014509 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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