Processing 清除文本但保留现有图形

Processing 清除文本但保留现有图形,processing,p5.js,Processing,P5.js,我正在做这个随机的小草图,你可以点击并扔硬币,在左上角有一个你有多少硬币的计数 我遇到的问题是,无论何时运行,您都会注意到,无论何时更新,金额标签都会不断堆叠在其顶部。我读过其他帖子说我们需要重新绘制背景以清除文本,但当我这样做时,它也会删除画布上生成的任何硬币。我如何更新此项以保持硬币可见,但删除并重新绘制金额 var moneyCount = 0; function setup() { createCanvas(windowWidth, windowHeight); bac

我正在做这个随机的小草图,你可以点击并扔硬币,在左上角有一个你有多少硬币的计数

我遇到的问题是,无论何时运行,您都会注意到,无论何时更新,金额标签都会不断堆叠在其顶部。我读过其他帖子说我们需要重新绘制背景以清除文本,但当我这样做时,它也会删除画布上生成的任何硬币。我如何更新此项以保持硬币可见,但删除并重新绘制金额

var moneyCount = 0;

function setup() {
    createCanvas(windowWidth, windowHeight);
    background(100);
}

function draw() {
    if (mouseIsPressed){
        dropCoins();
        displayCount();
    }
}

function displayCount() {
    textSize(80);
    text('$' + moneyCount, 80, 80);
}

function dropCoins() {

    var maxSize = 40;
    var xLoc = mouseX;
    var yLoc = mouseY;

    makeStacks(xLoc, yLoc, maxSize);
}

function makeStacks(x, y, size){

    fill(255,215,0);
    ellipse(x, y, size);

    for (i = 0; i < size; i++){
        let r1 = random(100);
        let r2 = random(100);

        if (r1 < 50){
            x = x + 2
        } else {
            x = x - 2;
        }

        if (r2 < 50){
            y = y + 2;
        } else {
            y = y - 2;
        }

        moneyCount++;
        ellipse(x, y, size);
    }
}
var moneyCount=0;
函数设置(){
createCanvas(窗口宽度、窗口高度);
背景(100);
}
函数绘图(){
如果(按下鼠标){
投币();
displayCount();
}
}
函数displayCount(){
文本大小(80);
文本(“$”+moneyCount,80,80);
}
函数(){
var maxSize=40;
var xLoc=mouseX;
var yLoc=老鼠;
生成堆栈(xLoc、yLoc、maxSize);
}
函数生成堆栈(x、y、大小){
填充(255215,0);
椭圆(x,y,大小);
对于(i=0;i
您有两个可用选项:

  • 你将硬币存放在哪里,这样你可以在清除背景后重新绘制它们
  • 您可以使用多个“层”来清除背景,但不能清除图形
  • 对于选项1,您可以执行以下操作:

    var moneyCount=0;
    风险价值=[];
    函数设置(){
    createCanvas(窗口宽度、窗口高度);
    文本大小(80);
    }
    函数绘图(){
    背景(100);
    如果(按下鼠标){
    投币();
    }
    显示硬币();
    displayCount();
    }
    函数displayCount(){
    文本(“$”+moneyCount,80,80);
    }
    函数(){
    var maxSize=40;
    var xLoc=mouseX;
    var yLoc=老鼠;
    生成堆栈(xLoc、yLoc、maxSize);
    }
    函数生成堆栈(x、y、大小){
    对于(i=0;i

    没问题。我已经添加了数组示例片段。阅读
    createGraphics
    文档并了解如何使用阵列(为将来的项目做出最佳选择)是值得的。玩得高兴