Javascript 通过p5重新绘制画布,删除旧画布
我希望可视化我的排序算法,并每次重新绘制创建的画布。我的旧画布保留了所有的旧值。它只是创建一个新画布并将其置于旧画布之上。但我认为通过重新绘制我可以解决它。我还试图通过Javascript 通过p5重新绘制画布,删除旧画布,javascript,p5.js,Javascript,P5.js,我希望可视化我的排序算法,并每次重新绘制创建的画布。我的旧画布保留了所有的旧值。它只是创建一个新画布并将其置于旧画布之上。但我认为通过重新绘制我可以解决它。我还试图通过canvas.remove()删除画布并创建一个全新的画布,但也没有成功 我的设置呼叫: let canvas; function setup() { values = new Array(20); this.canvas = createCanvas(values.length*w, 640); createArr
canvas.remove()
删除画布并创建一个全新的画布,但也没有成功
我的设置呼叫:
let canvas;
function setup() {
values = new Array(20);
this.canvas = createCanvas(values.length*w, 640);
createArray(values.length);
var slider = document.getElementById("slider");
slider.oninput = function() {
this.canvas = resizeCanvas(values.length*w, 640);
length = this.value;
createArray(length);
redraw();
}
var button = document.getElementById("btn");
button.onclick = function(){
quickSort(values, 0, values.length - 1);
}
}
还有我的抽签电话:
function draw() {
background(0);
for (let i = 0; i < values.length; i++) {
noStroke();
if (states[i] == 0) {
fill('#E0777D');
} else if (states[i] == 1) {
fill('#D6FFB7');
} else {
fill(255);
}
rect(i * w, height - values[i], w, values[i]);
}
}
函数绘图(){
背景(0);
for(设i=0;i
谢谢您的帮助:)。使用完画布后,尝试执行canvas=null您的画布存储在
this.canvas
中。你是想把它分配给canvas
变量吗?这是我第一次使用js。我的this调用没有获取全局变量吗?此
引用了函数设置()
调用。删除此
将使画布
引用您先前声明的let canvas
变量。这解决了我的问题,谢谢!