sprite_merge

此函数将参数1("ind2")中索引的精灵与参数0("ind1")中索引的精灵合并。图像本身不是合并在一起,而是图像索引合并,将精灵"ind2"的子图像附加到精灵"ind1"的子图像上,即:将它们添加到末尾。请注意,如果精灵大小不同,则附加的精灵将被拉伸以适合图像大小对于"ind1"。

此更改是永久性的,从您使用此函数的那一刻起,直到游戏关闭或精灵被删除,正在合并的精灵将被更改,但与其合并的精灵将保持不变。

注意正在合并的图像资源和待合并的图像资源都不能是原始游戏资源之一。您必须首先使用sprite_duplicate()创建两个新资源(如果您要合并包含的游戏资源),然后再合并它们。

注意此函数仅适用于位图精灵,不适用于 SWF 或 JSON(Spine) 精灵。

 

语法:

sprite_merge(ind1, ind2);

参数类型描述
ind1Sprite Asset要合并的精灵的索引。
ind2Sprite Asset要与ind1合并的精灵的索引。

 

返回

N/A

 

例子:

var tspr = array_create(2);
tspr[0] = sprite_add(working_directory + "Sprite Assets/explode1.png", 16, true, true, 0, 0);
tspr[1] = sprite_duplicate(spr_Explosion);
sprite_merge(tspr[0], tspr[1]);
sprite_index = t_spr[0];
sprite_delete(tspr[1]);

上面的代码将一个sprite加载到一个局部变量中,然后将其与另一个已复制的精灵合并。最后,合并的精灵被分配给实例sprite_索引,而加载的精灵被移除。来释放它使用的内存。请注意,在此操作之后的某个时刻,如在销毁或房间结束事件中,您还需要使用sprite_delete()来删除合并的精灵也是凭记忆。