layer_sequence_destroy

使用此函数,您可以销毁(从房间中删除)序列元素及其对应的序列实例。

layer_sequence_create()层元素函数之一返回的序列元素Id将被销毁。

函数释放序列实例结构及其下的所有结构。序列实例结构下已分配给变量的任何结构在该点不被释放,例如,如果您将activeTracks下的轨迹结构之一分配给变量,则仅在变量不再引用该结构时释放该结构。
该函数还会销毁为序列的对象轨迹创建的所有实例。这也适用于从使用sequence_instance_override_object定义的覆盖对象创建的实例。
使用sequence_instance_override_object替换对象索引的现有实例不会自动销毁。

语法:

layer_sequence_destroy(sequence_element_id)

参数类型描述
sequence_element_idSequence Element ID序列元素到目标的唯一ID值

 

返回:

N/A

 

示例1:

var a = layer_get_all_elements(layer);
for (var i = 0; i < array_length(a); i++;)
{
    if layer_get_element_type(a[i]) == layerelementtype_sequence
    {
        layer_sequence_destroy(a[i]);
    }
}

上面的代码获取分配给运行代码的实例层的所有元素的ID。然后,代码检查返回的元素是否是序列资源,如果是,则它们被销毁。

示例2:

var a = layer_get_all_elements(layer);
var track_struct;
for (var i = 0; i < array_length(a); i++;)
{
    if layer_get_element_type(a[i]) == layerelementtype_sequence
    {
        var ins = layer_sequence_get_instance(a[i]);
        track_struct = ins.activeTracks[0];
        layer_sequence_destroy(a[i]);
    }
}
show_debug_message(track_struct);

上面的代码获取分配给运行代码的实例层的所有元素的ID。然后,代码检查返回的元素是否是序列资源。如果是,则使用layer_sequence_get_instance获取实例结构。 接下来,它将activeTracks数组的第一个元素指定给临时变量track_struct,然后破坏序列。

遍历所有序列元素并销毁它们后,它显示带有变量track_struct内容的调试消息。 序列被销毁时,track_struct仍包含最后一个遇到序列实例的第一个轨迹的结构。