我有我的游戏设置,以便它启动并返回到加载屏幕房间45步,之后下一个房间被随机化。因此,在报警[0]时,以下代码激活:
randomize();
chosenRoom = choose(rm_roomOne, rm_roomTwo, rm_roomThree, rm_roomFour);
room_goto(chosenRoom);
这里的代码第一次运行正常,但是当它从随机选择的房间返回到加载屏幕房间时,它会停留在那里并且不会再次执行代码。
非常感谢任何帮助。
答案 0 :(得分:1)
这可能听起来很愚蠢,但你还记得在它关闭后再次设置闹钟吗?我知道我已经多次这样做而没有想到。在没有看到你的代码的情况下,我认为在闹钟响起后它没有被重新设置,所以它不会再次出现。
答案 1 :(得分:1)
我猜测控制对象是"持久的",因此控制对象只存在一次并且将永远保留(也在切换房间之后) - 因此创建事件只会被触发一次 - 因此警报只设置一次。
尝试将代码移至活动" Room Start"在你的控制器中它会工作。
答案 2 :(得分:0)
您可以使用event_perform(ev_alarm,0);
此处的代码在45步后执行报警[0]。经过45步后,它会触发报警[0]。请注意,您必须将其放入步骤事件中。并且您必须在创建事件中将等待变量和时间初始化为零。
times
是重复,wait
是事件之间的距离。
if(wait == 45 && times !=2){
event_perform(ev_alarm,0);
times++;
wait = 0;
}
else{
wait++;
}