问题: 我正在尝试使用 p5.js 创建一个简单的绘图应用程序。我想要在光标位置显示一个圆,表示绘画刷的大小,而不是标准光标图像。
可能的解决方法1: 使用 p5 中原生的
有没有办法在不实际在画布上绘制椭圆的情况下替换光标?有没有办法在p5中保存并立即重新加载画布?我在API文档中没有找到这样的方法。任何提示都将不胜感激。
cursor()
函数替换光标。
为什么它不起作用: p5 cursor function 只接受以下参数:
因此,没有本地方式可以使用椭圆类替换光标。 可能的解决方法2: 使用ARROW、CROSS、HAND、MOVE、TEXT 或 WAIT,或图像路径
noCursor()
函数,然后在光标位置绘制圆形,同时绘制背景,如下所示:var brushSize = 50;
function setup() {
createCanvas(1080,720);
noCursor();
}
function draw() {
background(100);
ellipse(mouseX,mouseY,brushSize);
}
为什么它不起作用:虽然这个解决方案达到了期望的效果,即用画笔大小的圆形替换光标,但是不断更新的背景会阻止我在想要绘制画布时使用画笔进行绘制。有没有办法在不实际在画布上绘制椭圆的情况下替换光标?有没有办法在p5中保存并立即重新加载画布?我在API文档中没有找到这样的方法。任何提示都将不胜感激。
createGraphics()
生成一个循环缓冲区,还是它总是会成为一个矩形对象挡住画布的一部分? - Skylar KennedycreateGraphics()
来跨越整个画布,在新缓冲区的顶部渲染光标椭圆并重新生成缓冲区的背景。我试图使背景相对于画布透明,但我只能使其相对于自身透明。您知道有没有一种解决方法,可以重新创建透明背景,从而实现预期的结果? - Skylar KennedycreateGraphics()
返回的缓冲区默认情况下是透明的。 - Kevin Workman