此函数将函数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);
参数 | 类型 | 描述 |
---|---|---|
sprite | Sprite Asset | 要绘制的精灵的索引。 |
subimg | Real | 要绘制的精灵的subimg(帧)(image_index或-1)与对象中动画的当前帧相关联。 |
left | Real | 要绘制区域左上角精灵上的x位置。 |
top | Real | 要绘制区域左上角精灵上的y位置。 |
width | Real | 要绘制的区域的宽度。 |
height | Real | 要绘制的区域的高度。 |
x | Real | 绘制精灵的位置的x坐标。 |
y | Real | 绘制精灵的位置的y坐标。 |
xscale | Real | 精灵的水平缩放,作为乘数:1 =正常缩放,0.5等于一半... |
yscale | Real | 精灵的垂直缩放,作为乘数:1 =正常缩放,0.5等于一半... |
rot | Real | 精灵的旋转。0 =正常,90 =逆时针旋转90度等。 |
c1 | Colour | 用于混合精灵左上区域的颜色。 |
c2 | Colour | 用于混合精灵右上区域的颜色。 |
c3 | Colour | 用于混合精灵右下区域的颜色。 |
c4 | Colour | 混合精灵左下区域的颜色。 |
alpha | Real | 精灵的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边距。它将被拉伸到通常宽度的两倍,但通常高度的一半。它将是不透明的,而且颠倒。精灵的顶部区域将被混合为白色,因此是正常的,但底部区域将是黑色,这意味着精灵将以平滑的梯度从正常变为向下的轮廓。