draw_skeleton

此函数用于使用骨骼动画程序(如Spine)创建的精灵。虽然您可以使用正常的绘制函数(如draw_self())绘制这些精灵,但有时您可能希望绘制单个帧或显示外观纹理的变化,而不实际更改精灵属性。在这些情况下,您可以使用此函数绘制精灵,在此函数中,您可以给出sprite索引,然后给出要从中获取帧的动画的名称(字符串,在用于制作精灵的程序中设置)。接下来,给出要使用的皮肤的名称(同样,在创建精灵时设置)和帧值。帧值用于告诉GameMaker要显示动画的哪一部分,并且是介于0和image_number之间的值。其余参数与普通精灵绘制所使用的参数相同,并将更改正在绘制的最终动画帧的比例、角度、混合颜色和alpha.

警告!由于骨骼动画在各个"关键"帧之间的插值方式,此调用会产生额外的开销,因此建议您避免使用此方法绘制基于骨骼的精灵,除非绝对必要。

 

语法:

draw_skeleton(sprite, animname, skinname, frame, x, y, xscale, yscale, rot, colour, alpha);

参数类型描述
spriteSprite Asset要绘制的精灵的索引。
animnameString要从中获取帧的动画的名称(字符串)。
skinnameString要使用的皮肤的名称(字符串)。
frameReal要绘制的动画帧(从0到图像_数字-1)。
xReal绘制精灵的位置的X坐标。
yReal绘制精灵的位置的Y坐标。
xscaleReal精灵的水平缩放,作为乘数:1=正常缩放,0.5为一半等。
yscaleReal精灵的垂直缩放,作为乘数:1=正常缩放,0.5为一半等。
rotReal精灵的旋转。0=正常,90=逆时针旋转90度等。
colourColour用于混合精灵的颜色。
alphaReal精灵的alpha(从0到1,其中0表示透明,1表示不透明)。

 

返回:

N/A

 

例子:

 

draw_skeleton(spr_Jump, "jump", "skin1", 0, x, y, image_xscale, image_yscale, image_angle, c_white, 0.5);

上面的代码将绘制给定骨骼动画精灵的第一帧,使用 " 跳转 " 动画集,蒙皮定义为 "skin1",比例和位置与实例属性定义的相同,但 Alpha 为 0.5。