You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

p5.js如何清除draw()上一次绘制内容?实现秒数无重叠刷新

解决p5.js秒数显示重叠的问题

嘿,这个小问题我太熟悉啦!你遇到的情况是因为p5.js的draw()函数会持续循环执行(默认每秒60次),每次循环都会在现有画布内容上叠加新的绘制,旧的秒数自然不会自动消失,就出现了重叠的情况。

要实现“显示新秒数前清除旧内容”的效果,只需要在draw()函数开头添加一行清屏代码就行:

function setup(){ 
  createCanvas(400,400); 
} 

function draw(){
  background(255); // 用白色填充整个画布,清除之前的内容
  textSize(32); 
  text(second(), 10, 30); 
}

原理说明:

  • background(255)会在每次draw()循环开始时,用白色(255代表RGB的白色)覆盖整个画布,相当于把之前画的旧秒数彻底擦掉,然后再绘制当前的新秒数,这样就不会出现重叠了。
  • 如果你想要其他背景色,也可以换成自定义值,比如background(0)是黑色,或者background(150, 200, 250)这样的淡蓝色。

内容的提问来源于stack exchange,提问作者user9229318

火山引擎 最新活动