draw_sprite_part

使用此函数,您可以在房间内的给定位置绘制任何精灵的一部分。对于draw_sprite(),可以指定要绘制的子图像和子图像,然后必须在要选择绘制的区域的子图像中给出相对坐标。这意味着,左侧位置0和顶部位置0将是精灵的左上角,并且应该从该位置获取所有进一步的坐标。下图显示了一个示例的工作原理:

draw_sprite_part example请注意,如果纹理页面允许自动裁剪,则此函数可能无法按预期工作,因为sprite周围的额外"空"空间将被删除以创建纹理页面。若要解决此问题,您需要设置纹理页面设置(在纹理组编辑器中)以禁用选项自动裁剪

注意:使用此函数绘制时,将忽略精灵x偏移y偏移,并且将绘制sprite零件,其中左上角位于房间中指定的x/ y位置。

注意:此函数仅适用于位图精灵,不适用于Swf或JSON(脊椎)精灵。

 

语法:

draw_sprite_part(sprite, subimg, left, top, width, height, x, y);

参数类型描述
spriteSprite Asset要绘制的精灵的索引。
subimgReal要绘制的精灵的subimg(帧)(image_index或-1)与对象中动画的当前帧相关联。
leftReal要绘制区域左上角精灵上的x位置。
topReal要绘制区域左上角精灵上的y位置。
widthReal要绘制的区域的宽度。
heightReal要绘制的区域的高度。
xReal绘制精灵的位置的x坐标。
yReal绘制精灵的位置的y坐标。

 

返回:

N/A

 

例子:

draw_sprite_part(sprite_index, image_index, 4, 0, sprite_width-16, sprite_height-16, x, y );

这将绘制指定为sprite(sprite_index)的实例及其当前动画帧(image_index),但它将从两侧的宽度上削减4 px边距,从原始24 x 24底部的高度上削减8像素边距像素精灵。