skeleton_attachment_create_colour

当你创建你的骨骼动画精灵时,你可以指定附件插槽附件进入其中。这些只是与动画分离的图像(精灵),但在附加时将与它们附加到的骨骼一起移动。通常你会在你的动画程序(脊柱)中指定这些附件,但有了这个函数,你可以在运行时使用游戏中的精灵资源创建自己的附件。该函数要求您为附件提供一个名称(作为一个字符串),然后设置要使用的sprite_indeximage_index,以及X和y原点(可以不同于精灵属性中的精灵所定义的原点)。此外,您还可以设置附加时要应用于图像的任何变换,以及要与图像混合的颜色及其Alpha(透明度)值。如果附件创建成功,该函数将返回1,如果未成功创建(您提供了无效的精灵索引,或者基础sprite不是脊柱sprite),则该函数将返回-1

值得注意的是,实例sprite可以有一个混合颜色和alpha设置(image_blendimage_alpha),附件槽也是如此(请参阅函数skeleton_slot_colour_set())。因此,为该插槽分配的附件精灵将具有的最终颜色和阿尔法将是所有这些值的合成。

注意如果具有给定名称的附件可能已经存在,您可以使用skeleton_attachment_exists进行检查,因为尝试使用现有名称创建附件将引发错误。

语法:

skeleton_attachment_create_colour(name, sprite, ind, xorigin, yorigin, xscale, yscale, rot, colour, alpha);

参数类型描述
nameString要创建的附件的名称(字符串形式)。
spriteSprite Asset要从中获取附件图像的精灵_索引。
indReal要从中获取附件图像的image_index。
xoriginReal正在使用的图像的X原点。
yoriginReal正在使用的图像的Y原点。
xscaleReal图像的水平缩放,作为乘数:1=正常缩放,0.5为一半等。
yscaleReal图像的垂直缩放,作为乘数:1=正常缩放,0.5为一半等。
rotReal图像的旋转:0=正常,90=逆时针旋转90°等。
ColourColour要使用的颜色值(常量、整数或十六进制值)。
AlphaReal要使用的alpha值(从0到1)。

 

返回:

Real (1 if successful, -1 if not)

 

例子:

skeleton_attachment_create_colour("sword", spr_Weapons, 0, 0, 80, 1, 1, 90, c_red, 1);
skeleton_attachment_create_colour("knife", spr_Weapons, 1, 0, 45, 1, 1, 90, c_yellow, 1);
skeleton_attachment_create_colour("crossbow", spr_Weapons, 0, 10, 30, 1, 1, 0, c_white, 0.5);
skeleton_attachment_set("slot_leftHand", choose("sword", "knife", "crossbow"));

上面的代码将检查当前为名为"插槽_LeftHand "的插槽分配的附件名称,如果返回空字符串,则附加新的精灵。