此函数按照与 draw_surface_part 相同的规则在给定位置绘制所选曲面的一部分,只是现在您可以缩放该部分、与其混合颜色或在绘制时更改其 Alpha 到屏幕 (与使用 draw_surface_ext 绘制表面时相同)。
注意使用表面时,由于表面存储在纹理内存中,因此表面可能随时停止存在。在直接引用表面之前,应该始终使用surface_exists()检查表面是否存在。
提示表面的显示方式取决于其内容,尤其是表面内部的Alpha值。Alpha为0的清除表面可能与Alpha为1的清除表面不同,因为它们与背景混合的方式不同。只要您注意到自定义表面上的渲染方式与application_surface的渲染方式有所不同,就要注意这一点。
draw_surface_part_ext(surface, left, top, w, h, x, y, xscale, yscale, colour, alpha);
| 参数 | 类型 | 描述 | 
|---|---|---|
| surface | Surface | 要绘制的表面。 | 
| left | Real | 要绘制的零件表面中的左侧位置。 | 
| top | Real | 要绘制的零件表面中的顶部位置。 | 
| w | Real | 要绘制的零件的左侧宽度。 | 
| h | Real | 要绘制的零件的高度(从顶部开始)。 | 
| x | Real | 绘制表面的x位置。 | 
| y | Real | 绘制表面的y位置。 | 
| xscale | Real | 应绘制零件的水平缩放比例。 | 
| yscale | Real | 应绘制零件的垂直缩放比例。 | 
| colour | Colour | 应绘制混合零件的颜色。 | 
| alpha | Real | 应绘制零件的Alpha透明度。 | 
N/A
draw_surface_part_ext(surf, 8, 8, 32, 32, x, y, 2, 0.5, c_black, 1);
这会将 8x8 像素的 32x32 像素区域绘制到变量 surf 中索引的表面中。它将被拉伸到通常宽度的两倍和通常高度的一半。它将是不透明的,并且将与黑色混合 (将其变成剪影)。