此函数在房间内的给定位置绘制任何表面的一部分。
与 draw_surface 一样,您可以指定一个表面,但随后需要指定要选择进行绘制的区域表面内的 相对坐标 。这意味着左侧位置 0 和顶部位置 0 将是表面的左上角,并且所有其他坐标都应从该位置获取。
注意使用表面时,由于表面存储在纹理内存中,因此表面可能随时停止存在。在直接引用表面之前,应该始终使用surface_exists()检查表面是否存在。
提示表面的显示方式取决于其内容,尤其是表面内部的Alpha值。Alpha为0的清除表面可能与Alpha为1的清除表面不同,因为它们与背景混合的方式不同。只要您注意到自定义表面上的渲染方式与application_surface的渲染方式有所不同,就要注意这一点。
draw_surface_part(surface, left, top, w, h, x, y);
参数 | 类型 | 描述 |
---|---|---|
surface | Surface | The surface to draw. |
left | Real | 要绘制的零件表面中的左侧位置。 |
top | Real | 要绘制的零件表面中的顶部位置。 |
w | Real | 要绘制的部分的宽度,从左侧开始。 |
h | Real | 要绘制的零件的高度(从顶部开始)。 |
x | Real | 绘制表面的x位置。 |
y | Real | 绘制表面的y位置。 |
N/A
draw_surface_part(surf, 8, 8, 32, 32, x, y);
这将在实例的 (x, y) 位置绘制一个距离 surf 中索引的表面左上角 8 像素 x 8 像素的 32x32 区域。