是否可以通过传入变量来创建动态房间?

Is it possible to create a dynamic room by passing in variables?

我正在尝试创建一个框架,我可以让多个事件都使用同一个房间。

例如,玩家触发事件,事件通过传入的变量建造房间。

我无法让房间充满活力。我希望房间和房间里的物品可以在每次活动中重复使用。这也包括按钮。

如果有帮助,该游戏主要基于菜单(如游戏 "Long Live The Queen")。

简单回答一下,是可以的

在很多情况下,我都可以在 Game Maker 的一个房间里放很多东西。以下是实现此 "dynamic" 游戏创建的几种方法:

  • 文件和脚本。您可以通过在文件中存储墙壁、地板、玩家位置、事件等来使用单个房间来容纳可变数量的关卡。您可以制作一个采用文件名(您的 "passed in" 变量)的脚本,然后让它在该房间中为您简单地创建关卡内的所有实例。您还可以具有清理房间的功能,以准备加载另一个级别。但是,副作用是您的唯一性仅限于可以在这些文件中存储的信息。如果需要,您也可以存储菜单选项和文本对话框。
  • "Unique" 对象。 Game Maker 是 IDE。没有什么能阻止您在编辑器中为特定情况创建新对象,然后在另一个对象中添加处理程序以按需创建它。不过,您必须管理它们之间的切换。
  • 创建一个 "manager" 对象。 它可以处理游戏中发生的所有事件(就此而言,在那个房间里)。此外,它还可以被对象用来在被销毁之前存储非全局变量。例如,如果角色死亡,它可以将管理器对象中的变量设置为 "true",这将触发 Boss 出现。

虽然在动态操作对象事件方面,除非您是 运行 Game Maker 8 之类的东西,这不再可能。我这样说是因为在 GameMaker:Studio 之前,对象、精灵和其他可以通过 "object_add()" 等函数在游戏中动态创建。当然,这些已经过时了,不能再用了。尽管如此,总有办法解决它。