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




