此函数采用一个表面,然后将其重复平铺到整个房间,从您在函数中给出的坐标开始,对每个平铺进行缩放、颜色混合以及您定义的 alpha(这些属性与中使用的属性相同 )draw_surface_ext)。
注意使用表面时,由于表面存储在纹理内存中,因此表面可能随时停止存在。在直接引用表面之前,应该始终使用surface_exists()检查表面是否存在。
提示表面的显示方式取决于其内容,尤其是表面内部的Alpha值。Alpha为0的清除表面可能与Alpha为1的清除表面不同,因为它们与背景混合的方式不同。只要您注意到自定义表面上的渲染方式与application_surface的渲染方式有所不同,就要注意这一点。
draw_surface_tiled_ext(surface, x, y, xscale, yscale, col, alpha);
参数 | 类型 | 描述 |
---|---|---|
surface | Surface | 要绘制的表面。 |
x | Real | 绘制表面的位置的x坐标。 |
y | Real | 绘制表面的位置的y坐标。 |
xscale | Real | 表面的水平缩放。 |
yscale | Real | 表面的垂直缩放。 |
col | Colour | 用于混合表面的颜色。 |
alpha | Real | 表面的Alpha。 |
N/A
draw_surface_tiled_ext(surf, x, y, 2, 2, c_red, 0.5);
这将在实例自己的 x 和 y 位置绘制在 surf 中索引的表面,将其存储的大小加倍,并在房间的每个方向上平铺,并与红色和部分透明混合。