该函数在游戏室内的某个位置绘制给定的精灵和子图像。对于精灵,您可以使用实例变量 sprite_index 来获取分配给运行代码的实例的当前精灵,或者您可以使用任何其他精灵资源。子图像也是如此,因为它也可以设置为实例变量 image_index,它将把子图像设置为为当前实例精灵选择的图像 (注意,您可以绘制不同的精灵并仍然使用当前实例的子图像值),或者您可以使用任何其他值来绘制所选精灵的特定子图像。如果该值大于子图像的数量,则 GameMaker 将自动循环该数字来选择相应的图像 (例如,如果正在绘制的精灵有 5 个编号为 0 到 4 的子图像,并且我们设置将索引值设置为 7,则函数将绘制第三个子图像,编号为 2)。最后,x 和 y 位置是将绘制精灵的房间内的位置,它以精灵的 x 偏移量 和 y 偏移量 为中心。
注意使用骨骼动画精灵时,此函数可能无法按预期工作,您可能会发现此函数仅绘制默认姿势的第一帧。您应该改用draw_skeleton_*函数。
draw_sprite(sprite, subimg, x, y);
参数 | 类型 | 描述 |
---|---|---|
sprite | Sprite Asset | 要绘制的精灵的索引。 |
subimg | Real | 要绘制的精灵(image_index或-1)的子图像(帧)与对象中动画的当前帧相关联。 |
x | Real | 绘制精灵的位置的x坐标。 |
y | Real | 绘制精灵的位置的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个像素处。