Project1

标题: 请教在一个$Scene内按下Esc键后3秒种再返回$scene=Scene_Map.new [打印本页]

作者: taeckle    时间: 2022-7-7 07:19
标题: 请教在一个$Scene内按下Esc键后3秒种再返回$scene=Scene_Map.new
本帖最后由 taeckle 于 2022-7-7 15:26 编辑

大家好,

我做了一个简单的$scene场景,现在在这个场景里的def update里设置了按下Esc键就会立即返回到大地图场景了。请下要怎么做才能达到像地图事件指令那样等待3帧的效果啊,目前我能想到的就是调用一个公共事件,然后在公共事件里做好这个等待3帧的事件指令。请问下还有其他方法吗,我用那个@wait_count =3怎么没有效果呐?
作者: qq634488405    时间: 2022-7-7 08:33
在判断按下Esc的下面加上
for i in 1..3
  Graphics.update
end
$scene=Scene_Map.new
作者: guoxiaomi    时间: 2022-7-7 13:24
要做什么,说得再详细点
作者: taeckle    时间: 2022-7-7 15:30
qq634488405 发表于 2022-7-7 08:33
在判断按下Esc的下面加上
for i in 1..3
  Graphics.update

大神那我把这段代码写成:

  1. 3.times{Graphics.update}
  2. $scene=Scene_Map.new
复制代码


这样可以吗?
作者: taeckle    时间: 2022-7-7 15:37
guoxiaomi 发表于 2022-7-7 13:24
要做什么,说得再详细点


大神请问下我先在class interpreter 里做个针对这个等待的def:
  1. class Interpreter
  2.   def the_wait(frames)
  3.     @wait_count += frames
  4.   end
  5. end
复制代码


然后在我的$scene中调用这个def the_wait可以吗?
  1. $game_system.map_interpreter.the_wait(3)
复制代码

作者: guoxiaomi    时间: 2022-7-7 22:34
最好的办法是设置一个自动事件,在退出特定场景的时候,打开自动事件的开关。
作者: taeckle    时间: 2022-7-10 19:28
guoxiaomi 发表于 2022-7-7 22:34
最好的办法是设置一个自动事件,在退出特定场景的时候,打开自动事件的开关。 ...

个人觉得最简单的方法就是这个
3.times{Graphics.update}
$scene=Scene_Map.new
大神你说还有比这更简单的了嘛?




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