使用此函数,您可以绘制圆角矩形或填充圆角矩形的轮廓,其中 (x1,y1) 位置是左上角,(x2,y2) 位置是右下角。还必须提供 x 轴和 y 轴的半径值 (以像素为单位),拐角将按这些数量进行倒圆角。您可以使用函数 draw_set_circle_precision() 定义角点的绘制精度。请注意,由于各种支持的平台之间的差异,所绘制的矩形可能需要使用所需尺寸绘制不同的值 (+/-1,x、y、宽度或高度)。
注意 如果您想使用着色器绘制形状,您应该知道大多数着色器需要以下输入:顶点、纹理、颜色。但是,当使用此函数时,仅传入顶点和颜色数据,因此着色器可能不会绘制任何内容 (或绘制某些内容但不正确)。如果您需要以这种方式绘制形状,那么应该在定制着色器时考虑到这一点。
draw_roundrect_ext(x1, y1, x2, y2, xrad, yrad, outline);
参数 | 类型 | 描述 |
---|---|---|
x1 | Real | 圆角矩形左上角的x坐标(如同正常矩形一样)。 |
y1 | Real | 圆角矩形左上角的y坐标(好像它是一个普通矩形)。 |
x2 | Real | 圆角矩形右下角的x坐标(如同正常矩形一样)。 |
y2 | Real | 圆角矩形右下角的y坐标(好像它是一个普通矩形)。 |
xrad | Real | 从矩形角开始沿x轴的曲线半径。 |
yrad | Real | 沿Y轴从矩形拐角开始的曲线半径。 |
outline | Boolean | 是否绘制圆角矩形填充(false)或绘制为一个像素宽的轮廓(true)。 |
N/A
var dist = point_distance(x, y, mouse_x, mouse_y) / 10;
draw_set_colour(c_lime);
draw_roundrect_ext(x - 50, y - 50, x + 50, y + 50, dist, dist, 0);
这将绘制一个填充的圆角矩形,边角将根据相对于绘制图形的实例的鼠标位置进行圆角。