【问题标题】:Is it possible to create a dynamic room by passing in variables?是否可以通过传入变量来创建动态房间?
【发布时间】:2016-11-04 19:48:54
【问题描述】:

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

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

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

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

如果有帮助的话,该游戏主要是基于菜单的(如游戏“女王万岁”)。

【问题讨论】:

    标签: c++ events game-maker gml


    【解决方案1】:

    简单地说,是的,有可能。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多