是否有可能通过传递变量来创建动态房间?

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

本文关键字:创建 动态 房间 变量 有可能 是否      更新时间:2023-10-16

我试图创建一个框架,我可以有多个事件都使用同一个房间。

例如,玩家触发一个事件,该事件用传入的变量构建房间。

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

  • 这是可能的吗?或
  • 我是否必须为我希望创建的每个独特事件创建单独的房间?

游戏主要是基于菜单(就像游戏"Long Live The Queen"),如果这有帮助的话。

简单地说,这是可能的。

在很多情况下,我都能够在Game Maker的一个房间里放很多东西。以下是实现这种"动态"游戏创作的一些方法:

  • 文件和脚本。你可以通过在文件中存储墙壁,地板,玩家位置,事件等来使用单个房间来容纳可变数量的关卡。你可以制作一个接受文件名(你的"传入"变量)的脚本,然后让它简单地在那个房间里为你创建关卡中的所有实例。您还可以使用一个函数来清理房间,以便为另一个关卡的加载做准备。但副作用是,您的惟一性仅限于可以存储在这些文件中的信息。如果你愿意,也可以存储菜单选项和文本对话框。
  • "独特"的对象。 Game Maker是一个IDE没有什么可以阻止您在编辑器中为独特的情况创建新对象,然后在另一个对象中添加处理程序以按需创建它。但是你必须管理它们之间的切换。
  • 创建一个"manager"对象。它可以处理游戏中发生的所有事件(以及在那个房间里)。此外,对象还可以在销毁之前使用它来存储非全局变量。例如,如果一个角色死了,它可以在一个manager对象中设置一个变量为"true",这将触发一个boss的出现。

在动态操作对象事件方面,除非你正在运行像Game Maker 8这样的东西,否则不再是可能的。我之所以这么说,是因为在GameMaker:Studio之前,对象、精灵等都可以通过"object_add()"等函数在游戏中动态创建。当然,这些都是过时的,不能再使用了。然而,总有办法绕过它。