draw_sprite_part_ext

此函数将按照与perdraw_sprite_part()相同的规则在给定位置绘制所选精灵的一部分,只是现在您可以缩放零件、与其混合颜色或在以下情况下更改其Alpha:将其绘制到屏幕(与使用draw_sprite_ext()绘制sprite时相同)。应注意,如果纹理页面允许自动裁剪,则此函数可能无法按预期工作,因为sprite周围额外的"空"空间将被删除,以创建纹理页面。若要解决此问题,您需要设置纹理页面设置(在纹理组编辑器中)以禁用自动裁剪

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

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

注意:只有在启用WebGL时,才建议对HTML5目标使用颜色混合,但如果未启用混合颜色,则仍可以设置该混合颜色,并且该混合颜色会将sprite混合为正常颜色。但是,以这种方式进行的所有混合都会创建一个副本精灵,然后将其存储在缓存中并在需要时使用。这远远不是最佳状态,如果您使用多种颜色更改,则除非您激活WebGL,否则会降低游戏性能。如果您不希望使用WebGL,则可以设置这个字体缓存大小来尝试,并且如果必须使用函数sprite_set_cache_size()来限制这个值。

 

语法:

draw_sprite_part_ext(sprite, subimg, left, top, width, height, x, y, xscale, yscale, colour, alpha);

参数类型描述
spriteSprite Asset要绘制的精灵的索引。
subimgReal要绘制的精灵的subimg(帧)(image_index或-1)与对象中动画的当前帧相关联。
leftReal要绘制区域左上角精灵上的x位置。
topReal要绘制区域左上角精灵上的y位置。
widthReal要绘制的区域的宽度。
heightReal要绘制的区域的高度。
xReal绘制精灵的位置的x坐标。
yReal绘制精灵的位置的y坐标。
xscaleReal精灵的水平缩放,作为乘数:1 =正常缩放,0.5等于一半...
yscaleReal精灵的垂直缩放,作为乘数:1 =正常缩放,0.5等于一半...
colourColour混合精灵的颜色。c_white将正常显示精灵。
alphaReal精灵的alpha(从0到1,其中0是透明的,1是不透明的)。

 

返回:

N/A

 

例子:

draw_sprite_part_ext(sprite_index, image_index, 8, 8, sprite_width-16, sprite_height-16, x, y, 2, 0.5, c_black, 1);

这将绘制指定为sprite(sprite_index)的实例及其当前动画帧(image_index),但是它将从精灵的所有四个边上削减8 px边距。然后,它将被拉伸到其通常宽度的两倍,但通常是其通常宽度的一半高度,尽管Alpha仍为1,但它将与黑色混合(将其变为轮廓)。