我正在尝试绘制一个圆,其上填充有随机生成的多边形,但我无法确定如何使这些多边形仅绘制在圆的上方。以下是一个示例: 我已经使用love.graphics.polygon()函数和一组随机生成的点在圆上绘制了随机多边形,但我正在寻找一种方法,在绘制时对它们进行裁剪,使它们只填充在圆的上方。以下是我目前所拥有的内容: 所以,我的问题是:是否有一个函数可以在love.draw函数中调用,将绘制的多边形超出范围的部分剪切掉,或者修复起来比这更困难?谢谢!
原来我只需要花一分钟看一下love.graphics文档就行了。无论如何,love.graphics.stencil()函数及其对应的love.graphics.setStencilTest()函数正是我所需。你可以将圆形的绘制函数传递给love.graphics.stencil()函数,并使用setStencilTest()函数使其不绘制圆形函数外部的像素。文档中有一些很好的例子。