Project1

标题: 求助:GameOver之后如何移动到1号地图? [打印本页]

作者: Tabris_Air    时间: 2009-11-25 13:47
标题: 求助:GameOver之后如何移动到1号地图?
默认的脚本在Scene_GameOver按下确认后返回标题画面,
我想在按下确认之后移动到1号地图,请问该怎么修改脚本呢?谢谢~
作者: 紫苏    时间: 2009-11-25 14:51
灰色原脚本,红色改动处:

class Scene_Gameover
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      #$scene = Scene_Title.new
      $game_temp.gameover = false
      # 设置新地图
      $game_map.setup(1)
      $game_player.moveto(0, 0)
      # 设置主角朝向
      $game_player.turn_up
      # 矫正主角姿势
      $game_player.straighten
      # 刷新地图 (执行并行事件)
      $game_map.update
      $scene = Scene_Map.new

    end
  end
end

class Interpreter
  #--------------------------------------------------------------------------
  # ● 游戏结束
  #--------------------------------------------------------------------------
  def command_353
    # 设置游戏结束标志
    $game_temp.gameover = true
    # 结束
    #return false
    return true
  end
end

Scene_Map 那一段是改变了按下确认后的处理,有一些初始的参数——
$game_map.setup(1) => 移动到一号地图;
$game_player.moveto(0, 0) => 移动到 (0, 0);
$game_player.turn_up => 面朝北

Interpreter 那一段是为了让游戏结束的事件命令执行后推进命令索引,否则回到地图后仍然继续执行游戏结束命令……
作者: Tabris_Air    时间: 2009-11-25 15:20
嗯……改过之后发现几个不对的地方……
1.如果在事件执行到一半的时候Gameover,那么移动到新场所之后还会执行剩下的另一半;
2.如果在战斗中GameOver,移动到新场所后再执行事件总有些地方不对= =b,比如文章显示总是在上方……不能显示图片……场所移动无效等等……
作者: 紫苏    时间: 2009-11-26 04:16
确实没考虑到这些……
事件继续执行的问题,可以把 command_353 那里加一行 command_end,返回值也可以改成原来的 false 了~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1