continue

continue 语句具有以下基本语法:

continue;

如果在形成循环的语句内部使用(forrepeatwhiledo / 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();
    }
}