使用一个名为 p5 的 javascript 框架,我试图为一个在屏幕上移动的圆圈制作动画,但是旧帧不会删除,这会导致在 Canvas 上显示一条线。
var xPos = 0;
function setup() {
createCanvas(400, 200)
background(123);
}
function draw() {
ellipse(xPos, height/2, 30, 30); //Draws the circle
fill(255);
xPos++; //Moves the circle a pixel over
if(xPos > width){xPos = 0;} //resets the circle when it reaches the edge of the canvas
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.5/p5.js"></script>
最佳答案
那是因为您只调用了一次 background()
函数,就在程序的开头。
然后每次调用 draw()
函数时,您都会绘制另一个圆圈 - 不会清除任何旧帧。
如果您想清除每一帧的旧帧,请在 draw()
函数的开头调用 background()
函数。
关于javascript - p5.js 旧帧不删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41337271/