如何在游戏制作者中循环脚本

时间:2016-04-29 13:00:28

标签: loops game-maker

cantSee = collision_line(x,y,obj_player.x,obj_player.y,obj_corner,false,true)
canSee = !(collision_line(x,y,obj_player.x,obj_player.y,obj_corner,false,true))

将循环定义如下:

    if cantSee {
        cantSeeTimer = cantSeeTimer +1
    }

    if cantSeeTimer >60 {
        speed=0
        stopped=true
    } else {
        mp_potential_step(obj_player.x,obj_player.y,5,false)
    }

}

if stopped=true && canSee {
    mp_potential_step(obj_player.x,obj_player.y,5,false)
    loop()
}

我知道语言不好,但我只是想创建一个循环命令来随意召唤。

谢谢,芬恩。

1 个答案:

答案 0 :(得分:1)

所以你还没有指定游戏中哪个对象目前有这个代码,但它不应该太重要。

因此,在Game Maker或Game Maker Studio中,对象可以有一系列事件,其中一个被称为" Step"事件。步骤事件基本上是一个循环,它将循环房间速度每秒的次数。例如:如果房间的房间速度为30,则步骤事件将每秒循环30次。

我想我可以看到你想要做什么,我想我有一个解决方案。 由于您可以编写GML代码,我将假设您了解如何使用GMS或GM IDE。

  1. 我们想要创建一个名为obj_control的新对象(或者您可以选择自定义名称)。也不要给这个对象一个精灵,因为我们不希望玩家看到它。

  2. 现在我们要向新对象添加一个事件,因此请确保您仍然拥有obj_control的窗口(或任何您称之为打开的窗口)。然后点击“添加活动”按钮'如下图所示:http://imgur.com/A7szwFO

  3. 点击它后,点击' Step'。 http://imgur.com/s0ksiyD

  4. 现在选择' Step'再次。 ('开始步骤'结束步骤'不要做我们想要的事情,所以让我们忽略它们)
  5. 现在我们需要将您的代码添加到我们刚创建的步骤事件中。因此,请确保您使用的是' Control'选项卡并找到脚本编辑器(您应该知道在哪里找到它)并将其中的一个拖到“动作”中。对于步骤事件。 http://imgur.com/de3gE01
  6. 现在一个脚本编辑器会自动弹出,但如果它不是双击"执行一段代码"。现在我们只需要将所有代码复制并粘贴到脚本编辑器中。 http://imgur.com/sNBOCFu
  7. 现在点击窗口左上角的绿色勾号以保存代码。
  8. 在我们完成之前,请确保我们在创建事件中定义变量。所以创建一个create事件并添加以下代码:

    cantSee = collision_line(x,y,obj_player.x,obj_player.y,obj_corner,false,true)

    canSee = !(collision_line(x,y,obj_player.x,obj_player.y,obj_corner,false,true))

  9. 添加了该创建事件并将该代码插入其中后,保存对该对象的所有更改。

  10. 剩下的就是将我们创建的这个对象添加到游戏的每个房间,以便它可以正常运行。

  11. 希望这有所帮助,如果它没有让我知道,我们可以对它进行分类。