如何将当前房间重新启动到玩家进入房间时的状态?

时间:2015-05-07 16:59:56

标签: game-maker

在制作游戏时,我已将其设置为当玩家死亡时游戏重置。感觉这有点过于苛刻,我做了一些研究,发现了room_restart()代码,这意味着要重新启动当前房间。但是,当我输入它并通过死亡触发它时,它没有将房间重置为原来的状态。我该如何重置它?

  

{

     

room_restart()

     

}

这是与敌人碰撞时触发的代码。

3 个答案:

答案 0 :(得分:0)

你必须以某种方式记录状态。 Game Maker具有原生状态保存功能,但如果您想要一个房间保持不变而不更改玩家的库存或其他东西,您必须手动记录其中每个对象的状态,以便当玩家离开并回来,一切都恢复原状。

您可以尝试让每个对象将重要变量记录到包含每个房间部分的文件中。例如,您可以使用包含每个房间部分的JSON文件,并且每个对象都会将其重要数据记录到该部分中。例如:

{
  "rmHouse": {
    "Mom": {
      "x": 64,
      "y": 128,
      "action": "lookingDown"
    }
  }
}

检查Game Maker JSON扩展。这是GM8.1 / Studio的一个:http://gmc.yoyogames.com/index.php?showtopic=565659

答案 1 :(得分:0)

room_goto(room);

这将把房间发回到你第一次进入房间时的状态,但是room_restart也应该这样做。

确保您没有在房间选项中选中“持久性”。听起来这可能是我的问题。

答案 2 :(得分:0)

如果你有         if(health = 0) { instance_destroy(); },然后删除instance_destroy。将其替换为x = 32 y = 64 health = max_hp restart_room(); 这样设置X位置,设置Y位置,恢复健康状态,房间重新启动。