p5.js - 无法使用 createGraphics 在 p5.js 中撤消绘图
问题描述
我正在尝试通过创建缓冲区然后清除它来为 p5.js 中的橡皮擦创建撤消功能。但是,我无法让它完全工作。我认为这个问题是由于 draw() 中的不断循环,但我尝试了各种方法,包括 redraw() 和 noLoop(),但在擦除后清除缓冲区方面收效甚微(基本上是用白色椭圆绘制)。我的代码如下:
function Eraser () {
var offScreenBuffer = createGraphics(width, height);
this.draw = function () {
erase();
};
var erase = function () {
image(offScreenBuffer, 0, 0);
var eraserSize = 15;
if (mouseIsPressed) {
offScreenBuffer.stroke(255);
offScreenBuffer.fill(255);
offScreenBuffer.ellipse(mouseX + eraserSize, mouseY + eraserSize, eraserSize, eraserSize);
}
};
function keyPressed () {
if (value === 'z') {
offScreenBuffer.clear();
}
};
}
解决方案
推荐阅读
- unix - 在 AIX 中验证密码
- python - Flask Docker 映像在 Azure 上出现超时错误
- ios - Ionic - 在 IOS 上编译时某些功能不起作用
- go - go tool pprof -inuse_space 比 linux top 显示小很多
- kubernetes-helm - 动态舵图配置的值层次结构
- jquery - 完整的日历显示错误的日期结束
- dart - dart 2.1 中的 Mixins - “on”关键字
- c++ - 开发 C++ sdl 库 setpixel 或 putpixel 示例代码请求
- java - 为什么Androidx.appcompat.AppCompatActivity会抛出java.lang.NoSuchMethodError: No virtual method getMainExecutor()?
- asp.net-core-mvc - 在 ASP.NET CORE 中使用 AJAX 在 DateTimePicker 中显示数据库中的用户生日