使用此函数,您可以销毁(从房间中删除)序列元素及其对应的序列实例。
layer_sequence_create()或层元素函数之一返回的序列元素Id将被销毁。
函数释放序列实例结构及其下的所有结构。序列实例结构下已分配给变量的任何结构在该点不被释放,例如,如果您将activeTracks下的轨迹结构之一分配给变量,则仅在变量不再引用该结构时释放该结构。
该函数还会销毁为序列的对象轨迹创建的所有实例。这也适用于从使用sequence_instance_override_object定义的覆盖对象创建的实例。
使用sequence_instance_override_object替换对象索引的现有实例不会自动销毁。
layer_sequence_destroy(sequence_element_id)
参数 | 类型 | 描述 |
---|---|---|
sequence_element_id | Sequence Element ID | 序列元素到目标的唯一ID值 |
N/A
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。然后,代码检查返回的元素是否是序列资源,如果是,则它们被销毁。
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仍包含最后一个遇到序列实例的第一个轨迹的结构。