微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从p5js渲染器中清除createGraphics画布

如何解决从p5js渲染器中清除createGraphics画布

p5js具有clear()函数,可清除屏幕上的所有内容。我想保留由createCanvas()创建的画布,但仅清除createGraphics()。我该怎么办?

//something like this
var canvas2;
function setup() {
  createCanvas(400,400);
  canvas2 = createGraphics(400,400);
  canvas2.clear()
  noLoop()
}

function draw() {
  fill(255,0)
  rect(60,60,40,40)
  canvas2.fill(20,44,240);
  canvas2.rect(20,20,40);
  image(canvas2,0)
}

function mousepressed() {
  //something which clears the createGraphics() canvas only and keeps the createCanvas() one
}

解决方法

您可以使用其clear()函数清除图形对象的内容。这是一个示例:

var canvas2;

function setup() {
  createCanvas(400,400);
  
  canvas2 = createGraphics(400,400);
  canvas2.fill(20,44,240);
  canvas2.rect(20,20,40,40);
}

function draw() {
  background(255);

  fill(255,0)
  rect(60,60,40)

  image(canvas2,0)
}

function mousePressed() {
  canvas2.clear();
}

我将canvas2.rect(20,40)调用移到了setup()函数内部,因为否则,即使清除了画布,您还是要重新绘制到画布上。我还删除了您的noLoop()通话,以便您可以看到清理画布的结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。