draw_sprite_general

此函数将函数draw_sprite_ext()与函数draw_sprite_part()结合在一起,添加了一些其他混合选项,以便最终的雪碧部分可以与单个颜色混合。

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

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

注意:使用此函数进行绘制时,精灵的 x 偏移量y 偏移量 将被忽略,精灵部分将在左上角位于指定的 x / y 位置处绘制。房间。

 

语法:

draw_sprite_general(sprite, subimg, left, top, width, height, x, y, xscale, yscale, rot, c1, c2, c3, c4, 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等于一半...
rotReal精灵的旋转。0 =正常,90 =逆时针旋转90度等。
c1Colour用于混合精灵左上区域的颜色。
c2Colour用于混合精灵右上区域的颜色。
c3Colour用于混合精灵右下区域的颜色。
c4Colour混合精灵左下区域的颜色。
alphaReal精灵的alpha(从0到1,其中0是透明的,1是不透明的)。

 

返回:

N/A

 

例子:

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

这将绘制指定为sprite(sprite_index)的实例及其当前动画帧(image_index),但是它将从精灵的所有四个边上削减8 px边距。它将被拉伸到通常宽度的两倍,但通常高度的一半。它将是不透明的,而且颠倒。精灵的顶部区域将被混合为白色,因此是正常的,但底部区域将是黑色,这意味着精灵将以平滑的梯度从正常变为向下的轮廓。