查看: 2440|回复: 9

[已经解决] XP返回上一个场景

[复制链接]
梦石
0
星屑
63
在线时间
246 小时
注册时间
2012-4-4
回帖
198
发表于 2013-4-19 16:28:18 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 水终结者 于 2013-4-21 13:08 编辑

XP怎么返回上一个场景?好像VX、VA都支持了。
自己写了一个场景类,但不知怎么返回上一场景。
6R,好久不见。
梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

发表于 2013-4-19 19:25:20 | 显示全部楼层
题目说明不清楚
请重新说明一下你需要的效果吧
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

梦石
0
星屑
50
在线时间
151 小时
注册时间
2012-2-4
回帖
101
发表于 2013-4-20 16:14:55 | 显示全部楼层
返回上一个情景???场景移动应该就可以实现吧。。。然后同2L说的。。要什么效果
=
回复

使用道具 举报

梦石
0
星屑
63
在线时间
246 小时
注册时间
2012-4-4
回帖
198
 楼主| 发表于 2013-4-21 13:08:42 | 显示全部楼层
美丽晨露 发表于 2013-4-19 19:25
题目说明不清楚
请重新说明一下你需要的效果吧

已经加说明了。
6R,好久不见。
回复

使用道具 举报

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

发表于 2013-4-21 14:22:36 | 显示全部楼层

# 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
$scene = 你想返回的场景

评分

参与人数 2星屑 +250 收起 理由
明特·布兰马修 + 100 认可答案
hys111111 + 150 感谢忽地

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

梦石
0
星屑
63
在线时间
246 小时
注册时间
2012-4-4
回帖
198
 楼主| 发表于 2013-4-21 14:36:13 | 显示全部楼层
美丽晨露 发表于 2013-4-21 14:22
# 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE

首先感谢您的回答,我要的是返回上一个场景,不是固定的某个场景,如果没有就算了。
6R,好久不见。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
91 小时
注册时间
2008-7-27
回帖
147
发表于 2013-4-21 15:15:52 | 显示全部楼层
你做個變量,持續更新地圖ID那種,切換地圖之前先記錄上一個場景的地圖ID……然後返回這個ID……
……
欢迎光临百度——龙骑士鸣泣之时吧:
http://tieba.baidu.com/f?kw=%C1% ... 9%C6%FC%D6%AE%CA%B1
回复

使用道具 举报

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

发表于 2013-4-22 18:15:44 | 显示全部楼层
人家VX区分了“call”和“start”(貌似是)。

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

但是XP只能$scene = Scene_Map.new

不过,可以在打开之前先用变量保存当前的场景($game_variables[XX]=$scene.class.new)
然后返回$scene = $game_variables[XX](未试验)
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2013-4-22 18:16:04 | 显示全部楼层
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里面~

以上~

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部