查看: 1530|回复: 3

[已经解决] 求助:GameOver之后如何移动到1号地图?

  [复制链接]

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
回帖
672
发表于 2009-11-25 13:47:54 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
默认的脚本在Scene_GameOver按下确认后返回标题画面,
我想在按下确认之后移动到1号地图,请问该怎么修改脚本呢?谢谢~

PC/IOS/Android共享的RM RPG:未名大学
梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-11-25 14:51:50 | 显示全部楼层
灰色原脚本,红色改动处:

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 那一段是为了让游戏结束的事件命令执行后推进命令索引,否则回到地图后仍然继续执行游戏结束命令……
回复

使用道具 举报

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
回帖
672
 楼主| 发表于 2009-11-25 15:20:48 | 显示全部楼层
嗯……改过之后发现几个不对的地方……
1.如果在事件执行到一半的时候Gameover,那么移动到新场所之后还会执行剩下的另一半;
2.如果在战斗中GameOver,移动到新场所后再执行事件总有些地方不对= =b,比如文章显示总是在上方……不能显示图片……场所移动无效等等……

PC/IOS/Android共享的RM RPG:未名大学
回复

使用道具 举报

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-11-26 04:16:22 | 显示全部楼层
确实没考虑到这些……
事件继续执行的问题,可以把 command_353 那里加一行 command_end,返回值也可以改成原来的 false 了~
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部