continue 语句具有以下基本语法:
continue;
如果在形成循环的语句内部使用(for、repeat、while 或 do / until ),它将立即结束当前的迭代并跳回到循环的开头,开始新的迭代并忽略循环中 continue 之后的任何代码。它也可以在 with 语句中使用,它会导致代码跳到下一个实例并再次运行。请注意,如果在任何这些上下文之外使用 continue,则会报错。
下面是在 for 循环中使用的示例:
var _val = 0;
for (var i = 0; i < 10; i += 1)
{
if (val_array[i] <= 0)
{
continue;
}
_val += val_array[i];
}
draw_text(32, 32, "Positive Values Total = " + string(_val));
下面是在 while 循环中使用的示例:
var file = file_text_open_read("Game_Data.txt");
var _num = 0;
while (!file_text_eof(file))
{
var _s = file_text_readln(file);
if (_s == "")
{
continue;
}
str[num++] = _s;
}
file_text_close(file);
下面是在 do / until 循环中使用的示例:
do
{
var _x = random(room_width);
var _y = random(room_height);
if (instance_position(_x, y, obj_Enemy)
{
continue;
}
instance_create_layer(_x, _y, "Instances", obj_Enemy);
}
until (instance_count(obj_Enemy) >= 10);
下面是在 repeat 循环中使用的示例:
repeat(10)
{
var _x = random(room_width);
var _y = random(room_height);
if (instance_position(_x, y, obj_Enemy)
{
continue;
}
instance_create_layer(_x, _y, "Instances", obj_Enemy);
}
最后,在 with 语句中使用示例:
with (obj_Enemy_Parent)
{
if (object_index == obj_Enemy_InDestructible)
{
continue;
}
hp -= 100;
if (hp <= 0)
{
instance_destroy();
}
}