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()
}
我知道语言不好,但我只是想创建一个循环命令来随意召唤。
谢谢,芬恩。
答案 0 :(得分:1)
所以你还没有指定游戏中哪个对象目前有这个代码,但它不应该太重要。
因此,在Game Maker或Game Maker Studio中,对象可以有一系列事件,其中一个被称为" Step"事件。步骤事件基本上是一个循环,它将循环房间速度每秒的次数。例如:如果房间的房间速度为30,则步骤事件将每秒循环30次。
我想我可以看到你想要做什么,我想我有一个解决方案。 由于您可以编写GML代码,我将假设您了解如何使用GMS或GM IDE。
我们想要创建一个名为obj_control
的新对象(或者您可以选择自定义名称)。也不要给这个对象一个精灵,因为我们不希望玩家看到它。
现在我们要向新对象添加一个事件,因此请确保您仍然拥有obj_control
的窗口(或任何您称之为打开的窗口)。然后点击“添加活动”按钮'如下图所示:http://imgur.com/A7szwFO
点击它后,点击' Step'。 http://imgur.com/s0ksiyD
在我们完成之前,请确保我们在创建事件中定义变量。所以创建一个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))
添加了该创建事件并将该代码插入其中后,保存对该对象的所有更改。
剩下的就是将我们创建的这个对象添加到游戏的每个房间,以便它可以正常运行。
希望这有所帮助,如果它没有让我知道,我们可以对它进行分类。