Project1

标题: XP返回上一个场景 [打印本页]

作者: 水终结者    时间: 2013-4-19 16:28
标题: XP返回上一个场景
本帖最后由 水终结者 于 2013-4-21 13:08 编辑

XP怎么返回上一个场景?好像VX、VA都支持了。
自己写了一个场景类,但不知怎么返回上一场景。
作者: 美丽晨露    时间: 2013-4-19 19:25
题目说明不清楚
请重新说明一下你需要的效果吧
作者: qq1353826915    时间: 2013-4-20 16:14
返回上一个情景???场景移动应该就可以实现吧。。。然后同2L说的。。要什么效果
作者: 水终结者    时间: 2013-4-21 13:08
美丽晨露 发表于 2013-4-19 19:25
题目说明不清楚
请重新说明一下你需要的效果吧

已经加说明了。
作者: 美丽晨露    时间: 2013-4-21 14:22

# 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
$scene = 你想返回的场景
作者: 水终结者    时间: 2013-4-21 14:36
美丽晨露 发表于 2013-4-21 14:22
# 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE

首先感谢您的回答,我要的是返回上一个场景,不是固定的某个场景,如果没有就算了。
作者: ZHL19910725    时间: 2013-4-21 15:15
你做個變量,持續更新地圖ID那種,切換地圖之前先記錄上一個場景的地圖ID……然後返回這個ID……
作者: hys111111    时间: 2013-4-22 18:15
人家VX区分了“call”和“start”(貌似是)。

call是调用某个场景,可以回到原先的场景。
start(貌似是)也是调用某个场景,但是不可以回到原先的场景。

但是XP只能$scene = Scene_Map.new

不过,可以在打开之前先用变量保存当前的场景($game_variables[XX]=$scene.class.new)
然后返回$scene = $game_variables[XX](未试验)
作者: cinderelmini    时间: 2013-4-22 18:16
Game类里面随便找一个类,在里面加一个记录Scene的变量~
以Game_System为例,则如下:
  1. def scene_return
  2.   $scene = $game_system.scene_login.nil? ? Scene_Map.new : $game_system.scene_login
  3. end

  4. def scene_goto(scene = nil)
  5.   $game_system.scene_login = $scene
  6.   $scene = scene.new
  7. end

  8. class Game_System
  9.   attr_accessor :scene_login
  10. end
复制代码
这一段在Main前插入一个空白脚本复制粘贴就是了~
然后要使用这个东西的话,
必须把默认的各种界面呼唤的句子:$scene = XXX.new
这句换掉,当然也可以先暂时#掉以免误伤~
换成:scene_goto(界面类名字)
需要注意的是这里的界面名字必须跟要呼唤的界面名字一致,如:Scene_Map
而且不用加.new
之后按下B键返回的相关,也可以换成:scene_return

顺带一提,若想用return功能,则必须先用goto切换界面,
因为登记当前界面的变量操作写在goto里面~

以上~





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