draw_sprite

该函数在游戏室内的某个位置绘制给定的精灵和子图像。对于精灵,您可以使用实例变量 sprite_index 来获取分配给运行代码的实例的当前精灵,或者您可以使用任何其他精灵资源。子图像也是如此,因为它也可以设置为实例变量 image_index,它将把子图像设置为为当前实例精灵选择的图像 (注意,您可以绘制不同的精灵并仍然使用当前实例的子图像值),或者您可以使用任何其他值来绘制所选精灵的特定子图像。如果该值大于子图像的数量,则 GameMaker 将自动循环该数字来选择相应的图像 (例如,如果正在绘制的精灵有 5 个编号为 0 到 4 的子图像,并且我们设置将索引值设置为 7,则函数将绘制第三个子图像,编号为 2)。最后,x 和 y 位置是将绘制精灵的房间内的位置,它以精灵的 x 偏移量y 偏移量 为中心。

注意使用骨骼动画精灵时,此函数可能无法按预期工作,您可能会发现此函数仅绘制默认姿势的第一帧。您应该改用draw_skeleton_*函数。

 

语法:

draw_sprite(sprite, subimg, x, y);

参数类型描述
spriteSprite Asset要绘制的精灵的索引。
subimgReal要绘制的精灵(image_index或-1)的子图像(帧)与对象中动画的当前帧相关联。
xReal绘制精灵的位置的x坐标。
yReal绘制精灵的位置的y坐标。

 

返回:

N/A

 

例子:

draw_sprite(sprite_index, image_index, x, y);
draw_sprite(spr_Halo, 0, x, y-32);

这将在房间内实例的x和y位置绘制指定了sprite(sprite_index)的实例,其中包含当前子图像。然后,它将在相同的x和y位置绘制由"spr_Halo"索引的精灵的第一帧,但是在上面的32个像素处。