draw_sprite_ext

此函数将按照函数draw_sprite()中的方式绘制给定的精灵,但具有更改绘制的精灵的缩放、混合、旋转和Alpha的附加选项。更改这些值不会以任何方式(仅限于绘制方式)修改资源,并且您可以使用任何可用的精灵变量,而不是使用函数中所有参数的直接值。下图说明了不同的值如何影响精灵的绘制:

sraw_sprite_ext examples

如果与启用九宫格的精灵配合使用,则根据精灵编辑器中的"九宫格"设置进行缩放后,它将保留任何详细信息。有关详细信息,请参阅九宫格上的页面。

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

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

 

语法:

draw_sprite_ext( sprite, subimg, x, y, xscale, yscale, rot, colour, alpha );

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

 

返回:

N/A

 

例子:

draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);

这将使用其所有默认值(基本上与使用draw_self相同)绘制分配给精灵的实例。