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

时间:2016-11-04 19:48:54

标签: c++ events game-maker gml

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

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

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

  • 这可能吗? OR
  • 我是否必须为我想创建的每个独特活动创建单独的房间?

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

1 个答案:

答案 0 :(得分:0)

简单回答,是的,这是可能的。

在很多情况下,我已经能够将很多东西放入Game Maker的单个房间。以下是实现此目标的几种方法"动态"游戏创作:

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

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