使用此函数,可以在由四个角坐标定义的区域上绘制变形的精灵。前两个参数是要绘制的精灵和精灵(与函数draw_sprite()中的相同)但下一个是定义给定精灵的边界框的四个角的每个角的位置的那些。这些坐标应按顺时针顺序给出,因此第一个坐标是左上角,然后是右上角,最后是底部最后是左下角。也可以为精灵的Alpha设置一个值,以便使用透明度绘制它。下图说明了此函数的工作原理:
警告!上面的图像仅用于说明目的,如果在精灵上使用此函数,则会得到不同的结果,并且由于精灵是由四个基元组成的,因此可能会遇到纹理"剪切"。
注意:此函数仅适用于位图精灵,不适用于Swf或JSON(脊椎)精灵。
注意:使用此函数时,应禁用纹理页面的"自动裁剪"设置。
draw_sprite_pos(sprite, subimg, x1, y1, x2, y2, x3, y3, x4, y4, alpha);
参数 | 类型 | 描述 |
---|---|---|
sprite | Sprite Asset | 要绘制的精灵的索引。 |
subimg | Real | 要绘制的精灵的subimg(帧)(image_index或-1)与对象中动画的当前帧相关联。 |
x1 | Real | 第一个x坐标。 |
y1 | Real | 第一个y坐标。 |
x2 | Real | 第二个x坐标。 |
y2 | Real | 第二个y坐标。 |
x3 | Real | 第三个x坐标。 |
y3 | Real | 第三个y坐标。 |
x4 | Real | 第四个x坐标。 |
y4 | Real | 第四个y坐标。 |
alpha | Real | 精灵的alpha(从0到1,其中0是透明的,1是不透明的)。 |
N/A
draw_sprite_pos(sprite_index, image_index, x - 100, y - 50, x - 50, y +150, x + 100, y + 200, x + 100, y, 1);
上述代码将绘制与运行在实例的x/y位置周围扭曲的代码的实例相关联的精灵,并使用完全不透明的字母。