是否可以 return 进入您离开时的状态的房间,而不是在 GameMaker Studio 2 中重置?
Is it possible to return to a room in the state you left it, rather than being reset in GameMaker Studio 2?
目前我正在尝试实现一种方法,使用户可以快速切换到显示 instructions/controls 的房间。一旦他们读完,他们应该能够 return 回到他们之前所在的房间,保持他们离开时的状态。当我 return 进入房间时,当前发生的情况是它已重置为开始时的状态。
我没有调用 room_restart()
或 game_restart()
之类的东西,我只是使用 room_goto(num)
在游戏室和指令室之间导航。
一个简单的解决方法是在转换到指令房间之前将您的房间标记为永久 (room_persistent = true
),并在转换回来后取消标记。
更合适的方法是根本不转换房间,而是停用游戏对象 (instance_deactivate_all(true)
) 然后再次激活它们 (instance_activate_all()
) - 就像您展示一个暂停菜单。
我在游戏中经常这样做。您需要做的就是保存当前的游戏状态,然后切换到带有控件的房间。使用-game_save("example.dat")
然后在你想要return的时候打开它。游戏保存和加载教程很多!
game_save("level.dat")
room_goto(rm_controls)
then
game_load("level.dat")
希望对您有所帮助!
目前我正在尝试实现一种方法,使用户可以快速切换到显示 instructions/controls 的房间。一旦他们读完,他们应该能够 return 回到他们之前所在的房间,保持他们离开时的状态。当我 return 进入房间时,当前发生的情况是它已重置为开始时的状态。
我没有调用 room_restart()
或 game_restart()
之类的东西,我只是使用 room_goto(num)
在游戏室和指令室之间导航。
一个简单的解决方法是在转换到指令房间之前将您的房间标记为永久 (room_persistent = true
),并在转换回来后取消标记。
更合适的方法是根本不转换房间,而是停用游戏对象 (instance_deactivate_all(true)
) 然后再次激活它们 (instance_activate_all()
) - 就像您展示一个暂停菜单。
我在游戏中经常这样做。您需要做的就是保存当前的游戏状态,然后切换到带有控件的房间。使用-game_save("example.dat")
然后在你想要return的时候打开它。游戏保存和加载教程很多!
game_save("level.dat")
room_goto(rm_controls)
then
game_load("level.dat")
希望对您有所帮助!